summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Motin <mav@FreeBSD.org>2007-05-04 16:20:47 +0000
committerAlexander Motin <mav@FreeBSD.org>2007-05-04 16:20:47 +0000
commit6370fd6b05f334f1a996810d4a7bff9c39562773 (patch)
treeb4adf8e588413455e88395fd57837b606404ad49
parentadecf751c301df8fd1ab92271dd453326e9dd2e3 (diff)
Notes
-rw-r--r--sys/netgraph/ng_mppc.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/netgraph/ng_mppc.c b/sys/netgraph/ng_mppc.c
index 008c5acdef98..c955c780efe4 100644
--- a/sys/netgraph/ng_mppc.c
+++ b/sys/netgraph/ng_mppc.c
@@ -545,16 +545,18 @@ ng_mppc_compress(node_p node, struct mbuf *m, struct mbuf **resultp)
#ifdef NETGRAPH_MPPC_ENCRYPTION
if ((d->cfg.bits & MPPE_BITS) != 0) {
- /* Set header bits; need to reset key if we say we did */
+ /* Set header bits */
header |= MPPC_FLAG_ENCRYPTED;
- if ((header & MPPC_FLAG_FLUSHED) != 0)
- rc4_init(&d->rc4, d->key, KEYLEN(d->cfg.bits));
/* Update key if it's time */
if ((d->cfg.bits & MPPE_STATELESS) != 0
|| (d->cc & MPPE_UPDATE_MASK) == MPPE_UPDATE_FLAG) {
- ng_mppc_updatekey(d->cfg.bits,
- d->cfg.startkey, d->key, &d->rc4);
+ ng_mppc_updatekey(d->cfg.bits,
+ d->cfg.startkey, d->key, &d->rc4);
+ } else if ((header & MPPC_FLAG_FLUSHED) != 0) {
+ /* Need to reset key if we say we did
+ and ng_mppc_updatekey wasn't called to do it also. */
+ rc4_init(&d->rc4, d->key, KEYLEN(d->cfg.bits));
}
/* Encrypt packet */