DragonFlyBSD Kernel Audit
DF-0596 / ng_setup.sh
← back to finding ↓ download raw
#!/bin/sh
# DF-0596: Set up netgraph topology to exercise ng_pptpgre_recv
# Run as root.
set -e

# Create pptpgre node connected to ng_socket's data hook → pptpgre lower
ngctl mkpeer pptpgre data lower
echo "MKPEER done"

# Find the pptpgre node ID and name it
PPTPID=$(ngctl list | grep pptpgre | awk '{print $3}')
echo "pptpgre node id: $PPTPID"
ngctl name "$PPTPID": pptpgre0
echo "NAME done"

# Configure: enabled, cid=0x1234 (4660), peerCid=0x2222 (8738),
# recvWin=30 (so xmitWin starts at (30+1)/2=15, the race threshold),
# peerPpd=1, enableAlwaysAck=1, enableDelayedAck=0
ngctl msg pptpgre0: setconfig "{ enabled=1 enableDelayedAck=0 enableAlwaysAck=1 cid=4660 peerCid=8738 recvWin=30 peerPpd=1 }"
echo "CONFIG done"

# Show the node and its hooks
ngctl show pptpgre0:
echo "SHOW done"

# Get config to verify
ngctl msg pptpgre0: getconfig