From a75742c5e72fa5718e57d77586887d58755feebe Mon Sep 17 00:00:00 2001 From: James Carlson Date: Sat, 17 Jan 2004 05:47:55 +0000 Subject: [PATCH] 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. --- chat/chat.c | 62 ++++++++++++++++++++++---------------------- configure | 4 +-- modules/bsd-comp.c | 6 ++++- modules/deflate.c | 6 ++++- modules/vjcompress.c | 6 ++++- pppd/Makefile.sol2 | 5 ++-- pppd/chap-new.c | 20 +++++++------- pppd/chap-new.h | 2 +- pppd/sys-solaris.c | 3 ++- pppd/tty.c | 4 ++- pppdump/bsd-comp.c | 4 ++- pppdump/deflate.c | 4 ++- pppdump/pppdump.c | 11 ++++++++ solaris/ppp_comp.c | 6 ++--- solaris/ppp_mod.c | 7 ++++- 15 files changed, 93 insertions(+), 57 deletions(-) diff --git a/chat/chat.c b/chat/chat.c index 47248fa..dc6cf2e 100644 --- a/chat/chat.c +++ b/chat/chat.c @@ -87,7 +87,7 @@ #endif #ifndef lint -static const char rcsid[] = "$Id: chat.c,v 1.29 2003/03/04 06:17:21 fcusack Exp $"; +static const char rcsid[] = "$Id: chat.c,v 1.30 2004/01/17 05:47:55 carlsonj Exp $"; #endif #include @@ -213,7 +213,7 @@ void *dup_mem __P((void *b, size_t c)); void *copy_of __P((char *s)); char *grow __P((char *s, char **p, size_t len)); void usage __P((void)); -void logf __P((const char *fmt, ...)); +void msgf __P((const char *fmt, ...)); void fatal __P((int code, const char *fmt, ...)); SIGTYPE sigalrm __P((int signo)); SIGTYPE sigint __P((int signo)); @@ -495,7 +495,7 @@ char line[1024]; /* * Send a message to syslog and/or stderr. */ -void logf __V((const char *fmt, ...)) +void msgf __V((const char *fmt, ...)) { va_list args; @@ -558,7 +558,7 @@ int signo; fatal(2, "Can't set file mode flags on stdin: %m"); if (verbose) - logf("alarm"); + msgf("alarm"); } void unalarm() @@ -1001,9 +1001,9 @@ char *s; * The expectation did not occur. This is terminal. */ if (fail_reason) - logf("Failed (%s)", fail_reason); + msgf("Failed (%s)", fail_reason); else - logf("Failed"); + msgf("Failed"); terminate(exit_code); } @@ -1079,7 +1079,7 @@ register char *s; abort_string[n_aborts++] = s1; if (verbose) - logf("abort on (%v)", s); + msgf("abort on (%v)", s); return; } @@ -1105,7 +1105,7 @@ register char *s; pack++; n_aborts--; if (verbose) - logf("clear abort on (%v)", s); + msgf("clear abort on (%v)", s); } } free(s1); @@ -1129,7 +1129,7 @@ register char *s; report_string[n_reports++] = s1; if (verbose) - logf("report (%v)", s); + msgf("report (%v)", s); return; } @@ -1155,7 +1155,7 @@ register char *s; pack++; n_reports--; if (verbose) - logf("clear report (%v)", s); + msgf("clear report (%v)", s); } } free(s1); @@ -1173,7 +1173,7 @@ register char *s; timeout = DEFAULT_CHAT_TIMEOUT; if (verbose) - logf("timeout set to %d seconds", timeout); + msgf("timeout set to %d seconds", timeout); return; } @@ -1236,7 +1236,7 @@ int get_char() return ((int)c & 0x7F); default: - logf("warning: read() on stdin returned %d", status); + msgf("warning: read() on stdin returned %d", status); case -1: if ((status = fcntl(0, F_GETFL, 0)) == -1) @@ -1264,7 +1264,7 @@ int c; return (0); default: - logf("warning: write() on stdout returned %d", status); + msgf("warning: write() on stdout returned %d", status); case -1: if ((status = fcntl(0, F_GETFL, 0)) == -1) @@ -1286,9 +1286,9 @@ int c; if (verbose) { if (errno == EINTR || errno == EWOULDBLOCK) - logf(" -- write timed out"); + msgf(" -- write timed out"); else - logf(" -- write failed: %m"); + msgf(" -- write failed: %m"); } return (0); } @@ -1303,9 +1303,9 @@ register char *s; if (verbose) { if (quiet) - logf("send (??????)"); + msgf("send (??????)"); else - logf("send (%v)", s); + msgf("send (%v)", s); } alarm(timeout); alarmed = 0; @@ -1392,17 +1392,17 @@ register char *string; minlen = (len > sizeof(fail_buffer)? len: sizeof(fail_buffer)) - 1; if (verbose) - logf("expect (%v)", string); + msgf("expect (%v)", string); if (len > STR_LEN) { - logf("expect string is too long"); + msgf("expect string is too long"); exit_code = 1; return 0; } if (len == 0) { if (verbose) - logf("got it"); + msgf("got it"); return (1); } @@ -1416,16 +1416,16 @@ register char *string; echo_stderr(c); if (verbose && c == '\n') { if (s == logged) - logf(""); /* blank line */ + msgf(""); /* blank line */ else - logf("%0.*v", s - logged, logged); + msgf("%0.*v", s - logged, logged); logged = s + 1; } *s++ = c; if (verbose && s >= logged + 80) { - logf("%0.*v", s - logged, logged); + msgf("%0.*v", s - logged, logged); logged = s; } @@ -1470,8 +1470,8 @@ register char *string; strncmp(s - len, string, len) == 0) { if (verbose) { if (s > logged) - logf("%0.*v", s - logged, logged); - logf(" -- got it\n"); + msgf("%0.*v", s - logged, logged); + msgf(" -- got it\n"); } alarm(0); @@ -1484,8 +1484,8 @@ register char *string; strncmp(s - abort_len, abort_string[n], abort_len) == 0) { if (verbose) { if (s > logged) - logf("%0.*v", s - logged, logged); - logf(" -- failed"); + msgf("%0.*v", s - logged, logged); + msgf(" -- failed"); } alarm(0); @@ -1499,7 +1499,7 @@ register char *string; if (s >= end) { if (logged < s - minlen) { if (verbose) - logf("%0.*v", s - logged, logged); + msgf("%0.*v", s - logged, logged); logged = s; } s -= minlen; @@ -1509,16 +1509,16 @@ register char *string; } if (alarmed && verbose) - logf("warning: alarm synchronization problem"); + msgf("warning: alarm synchronization problem"); } alarm(0); if (verbose && printed) { if (alarmed) - logf(" -- read timed out"); + msgf(" -- read timed out"); else - logf(" -- read failed: %m"); + msgf(" -- read failed: %m"); } exit_code = 3; diff --git a/configure b/configure index 04dd908..60139fd 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #!/bin/sh -# $Id: configure,v 1.30 2002/11/02 19:48:12 carlsonj Exp $ +# $Id: configure,v 1.31 2004/01/17 05:47:55 carlsonj Exp $ # if [ -d /NextApps ]; then # system="NeXTStep" @@ -27,7 +27,7 @@ case $system in esac;; 5.[1-6]*) state="known"; ksrc="solaris"; makext="sol2";; esac - if [ -x /opt/SUNWspro/bin/cc ] && + if [ -x /opt/SUNWspro/bin/cc -a "$1" != "gcc" ] && /opt/SUNWspro/bin/cc -flags >/dev/null 2>&1; then : # use Sun WorkShop compiler elif gcc --version >/dev/null 2>&1; then diff --git a/modules/bsd-comp.c b/modules/bsd-comp.c index ed88b28..9d2b12e 100644 --- a/modules/bsd-comp.c +++ b/modules/bsd-comp.c @@ -41,7 +41,7 @@ * This version is for use with STREAMS under SunOS 4.x, * Digital UNIX, AIX 4.x, and SVR4 systems including Solaris 2. * - * $Id: bsd-comp.c,v 1.20 1996/08/28 06:31:57 paulus Exp $ + * $Id: bsd-comp.c,v 1.21 2004/01/17 05:47:55 carlsonj Exp $ */ #ifdef AIX4 @@ -66,6 +66,10 @@ #define BSD_LITTLE_ENDIAN #endif +#ifdef SOL2 +#include +#endif + #define PACKETPTR mblk_t * #include diff --git a/modules/deflate.c b/modules/deflate.c index 194b4ef..c896846 100644 --- a/modules/deflate.c +++ b/modules/deflate.c @@ -35,7 +35,7 @@ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: deflate.c,v 1.11 2002/12/06 09:49:15 paulus Exp $ + * $Id: deflate.c,v 1.12 2004/01/17 05:47:55 carlsonj Exp $ */ #ifdef AIX4 @@ -56,6 +56,10 @@ #include "../common/zlib.h" #endif +#ifdef SOL2 +#include +#endif + #if DO_DEFLATE #define DEFLATE_DEBUG 1 diff --git a/modules/vjcompress.c b/modules/vjcompress.c index 245ed4c..0b17083 100644 --- a/modules/vjcompress.c +++ b/modules/vjcompress.c @@ -29,7 +29,7 @@ * This version is used under SunOS 4.x, Digital UNIX, AIX 4.x, * and SVR4 systems including Solaris 2. * - * $Id: vjcompress.c,v 1.10 1999/09/15 23:49:06 masputra Exp $ + * $Id: vjcompress.c,v 1.11 2004/01/17 05:47:55 carlsonj Exp $ */ #include @@ -56,6 +56,10 @@ typedef u_long n_long; #include #endif +#ifdef SOL2 +#include +#endif + #include #include diff --git a/pppd/Makefile.sol2 b/pppd/Makefile.sol2 index 25f5772..902f3d3 100644 --- a/pppd/Makefile.sol2 +++ b/pppd/Makefile.sol2 @@ -1,6 +1,6 @@ # # Makefile for pppd under Solaris 2. -# $Id: Makefile.sol2,v 1.24 2003/11/27 21:25:25 paulus Exp $ +# $Id: Makefile.sol2,v 1.25 2004/01/17 05:47:55 carlsonj Exp $ # include ../Makedefs.com @@ -9,7 +9,8 @@ CFLAGS = -I../include -DSVR4 -DSOL2 $(COPTS) LIBS = -lsocket -lnsl OBJS = main.o magic.o fsm.o lcp.o ipcp.o upap.o chap-new.o eap.o md5.o \ - tty.o ccp.o ecp.o auth.o options.o demand.o utils.o sys-solaris.o + tty.o ccp.o ecp.o auth.o options.o demand.o utils.o sys-solaris.o \ + chap-md5.o # # uncomment the following to enable plugins diff --git a/pppd/chap-new.c b/pppd/chap-new.c index 3ed81d5..c8aa530 100644 --- a/pppd/chap-new.c +++ b/pppd/chap-new.c @@ -33,7 +33,7 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define RCSID "$Id: chap-new.c,v 1.3 2003/11/27 22:22:36 paulus Exp $" +#define RCSID "$Id: chap-new.c,v 1.4 2004/01/17 05:47:55 carlsonj Exp $" #include #include @@ -49,7 +49,7 @@ int (*chap_verify_hook)(char *name, char *ourname, int id, struct chap_digest_type *digest, unsigned char *challenge, unsigned char *response, - unsigned char *message, int message_space) = NULL; + char *message, int message_space) = NULL; /* * Option variables. @@ -119,7 +119,7 @@ static void chap_handle_response(struct chap_server_state *ss, int code, static int chap_verify_response(char *name, char *ourname, int id, struct chap_digest_type *digest, unsigned char *challenge, unsigned char *response, - unsigned char *message, int message_space); + char *message, int message_space); static void chap_respond(struct chap_client_state *cs, int id, unsigned char *pkt, int len); static void chap_handle_status(struct chap_client_state *cs, int code, int id, @@ -306,11 +306,11 @@ chap_handle_response(struct chap_server_state *ss, int id, { int response_len, ok, mlen; unsigned char *response, *p; - unsigned char *name = NULL; /* initialized to shut gcc up */ + char *name = NULL; /* initialized to shut gcc up */ int (*verifier)(char *, char *, int, struct chap_digest_type *, - unsigned char *, unsigned char *, unsigned char *, int); + unsigned char *, unsigned char *, char *, int); char rname[MAXNAMELEN+1]; - unsigned char message[256]; + char message[256]; if ((ss->flags & LOWERUP) == 0) return; @@ -322,7 +322,7 @@ chap_handle_response(struct chap_server_state *ss, int id, response = pkt; GETCHAR(response_len, pkt); len -= response_len + 1; /* length of name */ - name = pkt + response_len; + name = (char *)pkt + response_len; if (len < 0) return; @@ -391,14 +391,14 @@ static int chap_verify_response(char *name, char *ourname, int id, struct chap_digest_type *digest, unsigned char *challenge, unsigned char *response, - unsigned char *message, int message_space) + char *message, int message_space) { int ok; - char secret[MAXSECRETLEN]; + unsigned char secret[MAXSECRETLEN]; int secret_len; /* Get the secret that the peer is supposed to know */ - if (!get_secret(0, name, ourname, secret, &secret_len, 1)) { + if (!get_secret(0, name, ourname, (char *)secret, &secret_len, 1)) { error("No CHAP secret found for authenticating %q", name); return 0; } diff --git a/pppd/chap-new.h b/pppd/chap-new.h index 141667b..0f38ff4 100644 --- a/pppd/chap-new.h +++ b/pppd/chap-new.h @@ -123,7 +123,7 @@ struct chap_digest_type { extern int (*chap_verify_hook)(char *name, char *ourname, int id, struct chap_digest_type *digest, unsigned char *challenge, unsigned char *response, - unsigned char *message, int message_space); + char *message, int message_space); /* Called by digest code to register a digest type */ extern void chap_register_digest(struct chap_digest_type *); diff --git a/pppd/sys-solaris.c b/pppd/sys-solaris.c index d134fe9..076bf7d 100644 --- a/pppd/sys-solaris.c +++ b/pppd/sys-solaris.c @@ -90,7 +90,7 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define RCSID "$Id: sys-solaris.c,v 1.11 2003/04/07 00:01:46 paulus Exp $" +#define RCSID "$Id: sys-solaris.c,v 1.12 2004/01/17 05:47:55 carlsonj Exp $" #include #include @@ -107,6 +107,7 @@ #endif #include #include +#include #include #include #include diff --git a/pppd/tty.c b/pppd/tty.c index d602698..dbfc67e 100644 --- a/pppd/tty.c +++ b/pppd/tty.c @@ -73,7 +73,7 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define RCSID "$Id: tty.c,v 1.13 2004/01/13 04:17:59 paulus Exp $" +#define RCSID "$Id: tty.c,v 1.14 2004/01/17 05:47:55 carlsonj Exp $" #include #include @@ -512,7 +512,9 @@ int connect_tty() { char *connector; int fdflags; +#ifndef __linux__ struct stat statbuf; +#endif char numbuf[16]; /* diff --git a/pppdump/bsd-comp.c b/pppdump/bsd-comp.c index 17c1e3b..1413326 100644 --- a/pppdump/bsd-comp.c +++ b/pppdump/bsd-comp.c @@ -38,12 +38,14 @@ */ /* - * $Id: bsd-comp.c,v 1.3 1999/04/16 11:35:59 paulus Exp $ + * $Id: bsd-comp.c,v 1.4 2004/01/17 05:47:55 carlsonj Exp $ */ #include +#include #include #include +#include #include "ppp_defs.h" #include "ppp-comp.h" diff --git a/pppdump/deflate.c b/pppdump/deflate.c index 3922025..0136966 100644 --- a/pppdump/deflate.c +++ b/pppdump/deflate.c @@ -33,12 +33,14 @@ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: deflate.c,v 1.4 2002/12/06 09:49:16 paulus Exp $ + * $Id: deflate.c,v 1.5 2004/01/17 05:47:55 carlsonj Exp $ */ #include +#include #include #include +#include #include "ppp_defs.h" #include "ppp-comp.h" #include "zlib.h" diff --git a/pppdump/pppdump.c b/pppdump/pppdump.c index a65a152..95e692c 100644 --- a/pppdump/pppdump.c +++ b/pppdump/pppdump.c @@ -35,6 +35,7 @@ */ #include #include +#include #include #include #include "ppp_defs.h" @@ -53,6 +54,12 @@ int tot_sent, tot_rcvd; extern int optind; extern char *optarg; +void dumplog(); +void dumpppp(); +void show_time(); +void handle_ccp(); + +int main(ac, av) int ac; char **av; @@ -105,6 +112,7 @@ main(ac, av) exit(0); } +void dumplog(f) FILE *f; { @@ -244,6 +252,7 @@ struct pkt { unsigned char dbuf[8192]; +void dumpppp(f) FILE *f; { @@ -429,6 +438,7 @@ struct compressor *compressors[] = { NULL }; +void handle_ccp(cp, dp, len) struct pkt *cp; u_char *dp; @@ -485,6 +495,7 @@ handle_ccp(cp, dp, len) } } +void show_time(f, c) FILE *f; int c; diff --git a/solaris/ppp_comp.c b/solaris/ppp_comp.c index ce54587..3420ebc 100644 --- a/solaris/ppp_comp.c +++ b/solaris/ppp_comp.c @@ -32,7 +32,7 @@ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: ppp_comp.c,v 1.2 2002/12/06 09:49:16 paulus Exp $ + * $Id: ppp_comp.c,v 1.3 2004/01/17 05:47:55 carlsonj Exp $ */ /* @@ -624,7 +624,7 @@ ppp_comp_wsrv(q) if (!bcanputnext(q,mp->b_band)) #else if (!canputnext(q)) -#endif PRIOQ +#endif /* PRIOQ */ { putbq(q, mp); break; @@ -702,7 +702,7 @@ ppp_comp_wsrv(q) if (cmp != NULL) { #ifdef PRIOQ cmp->b_band=mp->b_band; -#endif PRIOQ +#endif /* PRIOQ */ freemsg(mp); mp = cmp; } diff --git a/solaris/ppp_mod.c b/solaris/ppp_mod.c index 8419b37..b70674c 100644 --- a/solaris/ppp_mod.c +++ b/solaris/ppp_mod.c @@ -32,7 +32,7 @@ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. * - * $Id: ppp_mod.c,v 1.2 2002/12/06 09:49:16 paulus Exp $ + * $Id: ppp_mod.c,v 1.3 2004/01/17 05:47:55 carlsonj Exp $ */ /* @@ -124,8 +124,13 @@ static int ppp_identify(dip) dev_info_t *dip; { + /* This entry point is not used as of Solaris 10 */ +#ifdef DDI_IDENTIFIED return strcmp(ddi_get_name(dip), "ppp") == 0? DDI_IDENTIFIED: DDI_NOT_IDENTIFIED; +#else + return 0; +#endif } static int -- 2.39.2