(reported this before, but seems it got lost)
If pppd's persist option is set, pppd tries to reconnect, when the connection
is lost. This does not work, however.
Reproduce:
- set persist and lcp-echo-failure, lcp-echo-interval and holdoff to reasonable
values
- start pppd
- use an iptables rule to block all packtes until pppd disconnects
- remove the iptables rule
- wait until pppd tries to reconnect
- reconnect fails
Cause:
When pppd tries to reconnect, pptp tries to connect to the unix
socket to the callmgr. This fails. The reason, I believe, is that
the socket is never closed.
Now a new callmgr is started. It can't connect, however, because
the old callmgr is still running. So pptp tries to connect/start
the callmgr in an infinite loop.
I've attached a patch, that closes the unix socket in pptp_disconnect().
In the callmgr it removes all the calls to kill the pppd processes. I'm
not quite sure, why they are there, as they would override pppd's persist
option.
It's already in git, check 0.8.4