openwrt / openwrt/packages

pptpd: mppe option no longer recognized

Open
#30,086 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug release/24.10
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
  1. set some mppe options in /etc/config/pptpd
  2. Connect with a client that enforces MPPE-128
  3. 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

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.