pptpd: mppe option no longer recognized
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 4.6k
- Forks
- 4k
- Avg merge
- 3d 12h
- Merged PRs (30d)
- 134
Description
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
- The package is maintained in this repository.
- I understand that issues related to the base OpenWrt repository or LuCI repository will be closed.
- I am reporting an issue for OpenWrt, not an unsupported fork.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Locate the pptpd init script that renders /var/etc/options.pptpd and review how the mppe value is converted into pppd options. Reproduce the failure with the shown configuration, then verify that the generated options use the accepted MPPE directives and that an MPPE-128 client connects successfully.
Written by the indexing model from the issue text.
Assessment
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100