lcp.c (134789) | lcp.c (134833) |
---|---|
1/*- 2 * Copyright (c) 1996 - 2001 Brian Somers <brian@Awfulhak.org> 3 * based on work by Toshiharu OHNO <tony-o@iij.ad.jp> 4 * Internet Initiative Japan, Inc (IIJ) 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * | 1/*- 2 * Copyright (c) 1996 - 2001 Brian Somers <brian@Awfulhak.org> 3 * based on work by Toshiharu OHNO <tony-o@iij.ad.jp> 4 * Internet Initiative Japan, Inc (IIJ) 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions --- 11 unchanged lines hidden (view full) --- 20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26 * SUCH DAMAGE. 27 * |
28 * $FreeBSD: head/usr.sbin/ppp/lcp.c 134789 2004-09-05 01:46:52Z brian $ | 28 * $FreeBSD: head/usr.sbin/ppp/lcp.c 134833 2004-09-06 00:07:58Z marcel $ |
29 */ 30 31#include <sys/param.h> 32#include <netinet/in.h> 33#include <netinet/in_systm.h> 34#include <netinet/ip.h> 35#include <sys/socket.h> 36#include <sys/un.h> --- 414 unchanged lines hidden (view full) --- 451 } else if (lcp->want_callback.opmask & CALLBACK_BIT(CALLBACK_CBCP)) { 452 *o->data = CALLBACK_CBCP; 453 INC_FSM_OPT(TY_CALLBACK, 3, o); 454 } else if (lcp->want_callback.opmask & CALLBACK_BIT(CALLBACK_E164)) { 455 size_t sz = strlen(lcp->want_callback.msg); 456 457 if (sz > sizeof o->data - 1) { 458 sz = sizeof o->data - 1; | 29 */ 30 31#include <sys/param.h> 32#include <netinet/in.h> 33#include <netinet/in_systm.h> 34#include <netinet/ip.h> 35#include <sys/socket.h> 36#include <sys/un.h> --- 414 unchanged lines hidden (view full) --- 451 } else if (lcp->want_callback.opmask & CALLBACK_BIT(CALLBACK_CBCP)) { 452 *o->data = CALLBACK_CBCP; 453 INC_FSM_OPT(TY_CALLBACK, 3, o); 454 } else if (lcp->want_callback.opmask & CALLBACK_BIT(CALLBACK_E164)) { 455 size_t sz = strlen(lcp->want_callback.msg); 456 457 if (sz > sizeof o->data - 1) { 458 sz = sizeof o->data - 1; |
459 log_Printf(LogWARN, "Truncating E164 data to %u octets (oops!)\n", sz); | 459 log_Printf(LogWARN, "Truncating E164 data to %zu octets (oops!)\n", 460 sz); |
460 } 461 *o->data = CALLBACK_E164; 462 memcpy(o->data + 1, lcp->want_callback.msg, sz); 463 INC_FSM_OPT(TY_CALLBACK, sz + 3, o); 464 } 465 } 466 467 if (lcp->want_mrru && !REJECTED(lcp, TY_MRRU)) { --- 595 unchanged lines hidden (view full) --- 1063 op = (int)opt->data[0]; 1064 sz = opt->hdr.len - 3; 1065 } 1066 switch (op) { 1067 case CALLBACK_AUTH: 1068 log_Printf(LogLCP, "%s Auth\n", request); 1069 break; 1070 case CALLBACK_DIALSTRING: | 461 } 462 *o->data = CALLBACK_E164; 463 memcpy(o->data + 1, lcp->want_callback.msg, sz); 464 INC_FSM_OPT(TY_CALLBACK, sz + 3, o); 465 } 466 } 467 468 if (lcp->want_mrru && !REJECTED(lcp, TY_MRRU)) { --- 595 unchanged lines hidden (view full) --- 1064 op = (int)opt->data[0]; 1065 sz = opt->hdr.len - 3; 1066 } 1067 switch (op) { 1068 case CALLBACK_AUTH: 1069 log_Printf(LogLCP, "%s Auth\n", request); 1070 break; 1071 case CALLBACK_DIALSTRING: |
1071 log_Printf(LogLCP, "%s Dialstring %.*s\n", request, sz, | 1072 log_Printf(LogLCP, "%s Dialstring %.*s\n", request, (int)sz, |
1072 opt->data + 1); 1073 break; 1074 case CALLBACK_LOCATION: | 1073 opt->data + 1); 1074 break; 1075 case CALLBACK_LOCATION: |
1075 log_Printf(LogLCP, "%s Location %.*s\n", request, sz, opt->data + 1); | 1076 log_Printf(LogLCP, "%s Location %.*s\n", request, (int)sz, 1077 opt->data + 1); |
1076 break; 1077 case CALLBACK_E164: | 1078 break; 1079 case CALLBACK_E164: |
1078 log_Printf(LogLCP, "%s E.164 (%.*s)\n", request, sz, opt->data + 1); | 1080 log_Printf(LogLCP, "%s E.164 (%.*s)\n", request, (int)sz, 1081 opt->data + 1); |
1079 break; 1080 case CALLBACK_NAME: | 1082 break; 1083 case CALLBACK_NAME: |
1081 log_Printf(LogLCP, "%s Name %.*s\n", request, sz, opt->data + 1); | 1084 log_Printf(LogLCP, "%s Name %.*s\n", request, (int)sz, 1085 opt->data + 1); |
1082 break; 1083 case CALLBACK_CBCP: 1084 log_Printf(LogLCP, "%s CBCP\n", request); 1085 break; 1086 default: 1087 log_Printf(LogLCP, "%s ???\n", request); 1088 break; 1089 } --- 9 unchanged lines hidden (view full) --- 1099 nak.hdr.len = 3; 1100 if ((p->dl->cfg.callback.opmask & CALLBACK_BIT(op)) && 1101 (op != CALLBACK_AUTH || p->link.lcp.want_auth) && 1102 (op != CALLBACK_E164 || 1103 E164ok(&p->dl->cfg.callback, opt->data + 1, sz))) { 1104 lcp->his_callback.opmask = CALLBACK_BIT(op); 1105 if (sz > sizeof lcp->his_callback.msg - 1) { 1106 sz = sizeof lcp->his_callback.msg - 1; | 1086 break; 1087 case CALLBACK_CBCP: 1088 log_Printf(LogLCP, "%s CBCP\n", request); 1089 break; 1090 default: 1091 log_Printf(LogLCP, "%s ???\n", request); 1092 break; 1093 } --- 9 unchanged lines hidden (view full) --- 1103 nak.hdr.len = 3; 1104 if ((p->dl->cfg.callback.opmask & CALLBACK_BIT(op)) && 1105 (op != CALLBACK_AUTH || p->link.lcp.want_auth) && 1106 (op != CALLBACK_E164 || 1107 E164ok(&p->dl->cfg.callback, opt->data + 1, sz))) { 1108 lcp->his_callback.opmask = CALLBACK_BIT(op); 1109 if (sz > sizeof lcp->his_callback.msg - 1) { 1110 sz = sizeof lcp->his_callback.msg - 1; |
1107 log_Printf(LogWARN, "Truncating option arg to %u octets\n", sz); | 1111 log_Printf(LogWARN, "Truncating option arg to %zu octets\n", sz); |
1108 } 1109 memcpy(lcp->his_callback.msg, opt->data + 1, sz); 1110 lcp->his_callback.msg[sz] = '\0'; 1111 fsm_ack(dec, opt); 1112 } else if ((p->dl->cfg.callback.opmask & CALLBACK_BIT(CALLBACK_AUTH)) && 1113 p->link.lcp.auth_ineed) { 1114 nak.data[0] = CALLBACK_AUTH; 1115 fsm_nak(dec, &nak); --- 180 unchanged lines hidden --- | 1112 } 1113 memcpy(lcp->his_callback.msg, opt->data + 1, sz); 1114 lcp->his_callback.msg[sz] = '\0'; 1115 fsm_ack(dec, opt); 1116 } else if ((p->dl->cfg.callback.opmask & CALLBACK_BIT(CALLBACK_AUTH)) && 1117 p->link.lcp.auth_ineed) { 1118 nak.data[0] = CALLBACK_AUTH; 1119 fsm_nak(dec, &nak); --- 180 unchanged lines hidden --- |