Package Name
pptpd
Maintainer
@thiagoricciardi
OpenWrt Version
24.10
OpenWrt Target/Subtarget
mvebu/cortexa9
Steps to Reproduce
- set some mppe options in /etc/config/pptpd
- Connect with a client that enforces MPPE-128
- Fail, no connection
This is the config:
config service 'pptpd'
option 'enabled' '1'
option 'localip' '192.168.1.1'
option 'remoteip' '192.168.1.15-17'
#option 'mppe' 'required,no40,no56,stateless'
option 'logwtmp' '0'
This is the rendered /var/etc/optiond.pptpd:
debug
logfile /tmp/pptp-server.log
auth
name "pptp-server"
lcp-echo-failure 3
lcp-echo-interval 60
default-asyncmap
mtu 1440
mru 1440
nobsdcomp
nodeflate
#noproxyarp
#nomppc
#novj
#novjccomp
#nomagic
require-mschap-v2
refuse-chap
refuse-mschap
refuse-eap
refuse-pap
#ms-dns 172.16.1.1
#plugin radius.so
#radius-config-file /etc/radius.conf
mppe required,no40,no56,stateless
Actual Behaviour
When the client tries to connect, I see this in the log:
2026-07-24 01:05:50 info pptpd[2313]: CTRL: Client XY control connection started
2026-07-24 01:05:51 info pptpd[2313]: CTRL: Starting call (launching pppd, opening GRE)
2026-07-24 01:05:51 err pppd[2318]: In file /var/etc/options.pptpd: unrecognized option 'mppe'
2026-07-24 01:05:51 err pptpd[2313]: GRE: read(fd=6,buffer=42242a,len=8196) from PTY failed: status = -1 error = I/O error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
2026-07-24 01:05:51 err pptpd[2313]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
2026-07-24 01:05:51 debug pptpd[2313]: CTRL: Reaping child PPP[2318]
2026-07-24 01:05:51 info pptpd[2313]: CTRL: Client XY control connection finished
When I replace this line in the rendered options:
mppe required,no40,no56,stateless
with this one:
nomppe-40
require-mppe-128
nomppe-stateful
The connection works.
I think pptpd or ppp got updated and the old syntax stopped working while the init script stil uses it.
This is a hotfix of the init script I used on my router to get it working:
57c57,60
< echo "mppe $(echo $mppe | sed -e 's/\s/,/g')" >> $OPTIONS_PPTP
---
> #echo "mppe $(echo $mppe | sed -e 's/\s/,/g')" >> $OPTIONS_PPTP
> echo "nomppe-40" >> $OPTIONS_PPTP
> echo "require-mppe-128" >> $OPTIONS_PPTP
> echo "nomppe-stateful" >> $OPTIONS_PPTP
Confirmation Checklist
Package Name
pptpd
Maintainer
@thiagoricciardi
OpenWrt Version
24.10
OpenWrt Target/Subtarget
mvebu/cortexa9
Steps to Reproduce
This is the config:
This is the rendered /var/etc/optiond.pptpd:
Actual Behaviour
When the client tries to connect, I see this in the log:
When I replace this line in the rendered options:
with this one:
The connection works.
I think pptpd or ppp got updated and the old syntax stopped working while the init script stil uses it.
This is a hotfix of the init script I used on my router to get it working:
Confirmation Checklist