summaryrefslogtreecommitdiff
path: root/usr.sbin/ppp/mp.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/ppp/mp.c')
-rw-r--r--usr.sbin/ppp/mp.c49
1 files changed, 22 insertions, 27 deletions
diff --git a/usr.sbin/ppp/mp.c b/usr.sbin/ppp/mp.c
index 3fd9b95c232c..21232b747023 100644
--- a/usr.sbin/ppp/mp.c
+++ b/usr.sbin/ppp/mp.c
@@ -161,13 +161,13 @@ mp_ReadHeader(struct mp *mp, struct mbuf *m, struct mp_header *header)
}
static void
-mp_LayerStart(void *v, struct fsm *fp)
+mp_LayerStart(void *v __unused, struct fsm *fp __unused)
{
/* The given FSM (ccp) is about to start up ! */
}
static void
-mp_LayerUp(void *v, struct fsm *fp)
+mp_LayerUp(void *v __unused, struct fsm *fp)
{
/* The given fsm (ccp) is now up */
@@ -175,13 +175,13 @@ mp_LayerUp(void *v, struct fsm *fp)
}
static void
-mp_LayerDown(void *v, struct fsm *fp)
+mp_LayerDown(void *v __unused, struct fsm *fp __unused)
{
/* The given FSM (ccp) has been told to come down */
}
static void
-mp_LayerFinish(void *v, struct fsm *fp)
+mp_LayerFinish(void *v __unused, struct fsm *fp)
{
/* The given fsm (ccp) is now down */
if (fp->state == ST_CLOSED && fp->open_mode == OPEN_PASSIVE)
@@ -416,7 +416,7 @@ mp_Assemble(struct mp *mp, struct mbuf *m, struct physical *p)
{
struct mp_header mh, h;
struct mbuf *q, *last;
- int32_t seq;
+ u_int32_t seq;
/*
* When `m' and `p' are NULL, it means our oldest link has gone down.
@@ -445,7 +445,7 @@ mp_Assemble(struct mp *mp, struct mbuf *m, struct physical *p)
mp->seq.min_in = (u_int32_t)-1;
for (dl = mp->bundle->links; dl; dl = dl->next)
if (dl->state == DATALINK_OPEN &&
- (mp->seq.min_in == -1 ||
+ (mp->seq.min_in == (u_int32_t)-1 ||
isbefore(mp->local_is12bit, dl->mp.seq, mp->seq.min_in)))
mp->seq.min_in = dl->mp.seq;
}
@@ -535,7 +535,7 @@ mp_Assemble(struct mp *mp, struct mbuf *m, struct physical *p)
/* We've got something, reassemble */
struct mbuf **frag = &q;
int len;
- u_long first = -1;
+ long long first = -1;
do {
*frag = mp->inbufs;
@@ -574,8 +574,8 @@ mp_Assemble(struct mp *mp, struct mbuf *m, struct physical *p)
if (q) {
q = m_pullup(q);
- log_Printf(LogDEBUG, "MP: Reassembled frags %ld-%lu, length %d\n",
- first, (u_long)h.seq, m_length(q));
+ log_Printf(LogDEBUG, "MP: Reassembled frags %lu-%lu, length %d\n",
+ (u_long)first, (u_long)h.seq, m_length(q));
link_PullPacket(&mp->link, MBUF_CTOP(q), q->m_len, mp->bundle);
m_freem(q);
}
@@ -896,10 +896,10 @@ mp_ShowStatus(struct cmdargs const *arg)
}
const char *
-mp_Enddisc(u_char c, const char *address, int len)
+mp_Enddisc(u_char c, const char *address, size_t len)
{
static char result[100]; /* Used immediately after it's returned */
- int f, header;
+ unsigned f, header;
switch (c) {
case ENDDISC_NULL:
@@ -930,7 +930,7 @@ mp_Enddisc(u_char c, const char *address, int len)
case ENDDISC_MAGIC:
sprintf(result, "Magic: 0x");
header = strlen(result);
- if (len > sizeof result - header - 1)
+ if (len + header + 1 > sizeof result)
len = sizeof result - header - 1;
for (f = 0; f < len; f++)
sprintf(result + header + 2 * f, "%02x", address[f]);
@@ -940,10 +940,10 @@ mp_Enddisc(u_char c, const char *address, int len)
snprintf(result, sizeof result, "PSN: %.*s", len, address);
break;
- default:
+ default:
sprintf(result, "%d: ", (int)c);
header = strlen(result);
- if (len > sizeof result - header - 1)
+ if (len + header + 1 > sizeof result)
len = sizeof result - header - 1;
for (f = 0; f < len; f++)
sprintf(result + header + 2 * f, "%02x", address[f]);
@@ -993,19 +993,13 @@ mp_SetEnddisc(struct cmdargs const *arg)
mp->cfg.enddisc.len = sizeof arg->bundle->ncp.ipcp.my_ip.s_addr;
} else if (!strcasecmp(arg->argv[arg->argn], "mac")) {
struct sockaddr_dl hwaddr;
- int s;
if (arg->bundle->ncp.ipcp.my_ip.s_addr == INADDR_ANY)
ncprange_getip4addr(&arg->bundle->ncp.ipcp.cfg.my_range, &addr);
else
addr = arg->bundle->ncp.ipcp.my_ip;
- s = ID0socket(PF_INET, SOCK_DGRAM, 0);
- if (s < 0) {
- log_Printf(LogERROR, "set enddisc: socket(): %s\n", strerror(errno));
- return 2;
- }
- if (arp_EtherAddr(s, addr, &hwaddr, 1)) {
+ if (arp_EtherAddr(addr, &hwaddr, 1)) {
mp->cfg.enddisc.class = ENDDISC_MAC;
memcpy(mp->cfg.enddisc.address, hwaddr.sdl_data + hwaddr.sdl_nlen,
hwaddr.sdl_alen);
@@ -1013,10 +1007,8 @@ mp_SetEnddisc(struct cmdargs const *arg)
} else {
log_Printf(LogWARN, "set enddisc: Can't locate MAC address for %s\n",
inet_ntoa(addr));
- close(s);
return 4;
}
- close(s);
} else if (!strcasecmp(arg->argv[arg->argn], "magic")) {
int f;
@@ -1082,7 +1074,8 @@ mpserver_IsSet(struct fdescriptor *d, const fd_set *fdset)
}
static void
-mpserver_Read(struct fdescriptor *d, struct bundle *bundle, const fd_set *fdset)
+mpserver_Read(struct fdescriptor *d, struct bundle *bundle,
+ const fd_set *fdset __unused)
{
struct mpserver *s = descriptor2mpserver(d);
@@ -1090,8 +1083,8 @@ mpserver_Read(struct fdescriptor *d, struct bundle *bundle, const fd_set *fdset)
}
static int
-mpserver_Write(struct fdescriptor *d, struct bundle *bundle,
- const fd_set *fdset)
+mpserver_Write(struct fdescriptor *d __unused, struct bundle *bundle __unused,
+ const fd_set *fdset __unused)
{
/* We never want to write here ! */
log_Printf(LogALERT, "mpserver_Write: Internal error: Bad call !\n");
@@ -1129,7 +1122,9 @@ mpserver_Open(struct mpserver *s, struct peerid *peer)
return MPSERVER_FAILED;
}
- for (f = 0; f < peer->enddisc.len && l < sizeof s->socket.sun_path - 2; f++) {
+ for (f = 0;
+ f < peer->enddisc.len && (size_t)l < sizeof s->socket.sun_path - 2;
+ f++) {
snprintf(s->socket.sun_path + l, sizeof s->socket.sun_path - l,
"%02x", *(u_char *)(peer->enddisc.address+f));
l += 2;