Deleted Added
full compact
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 ---