The ipv4.ignore-auto-dns setting is ignored for PPTP connections, hence it's impossible to setup a PPTP connection that doesn't use the server supplied DNS servers. The reason for this is that NetworkManager-pptp is written is such a way that it uses hardcoded options for pppd, e.g. 'usepeerdns', and when pppd establishes the connection the /etc/ppp/ip-up script is executed. The script will overwrite /etc/resolv.conf if 'usepeerdns' was supplied to pppd. I'm attaching a quick fix that makes the ipv4.ignore-auto-dns setting to be honored by NetworkManager-pptp. The attached patch is a bit dirty, but it works. Feel free to add error checking and stuff, or you can leave it as is since it's a not that critical part.
Created attachment 5548 [details] conditionaly enable usepeerdns to pppd subprocess
I've also contacted Dan Williams at RH (one of the current upstream maintainers) and provided him with the patch file, JFYI.
Thanks, this patch looks reasonable. Maybe I'll do some cleanup for it and then apply it. Or maybe Dan commit the patch and then I'll just take it from upstream's git ;)
Is there any news from Dan? I don't see such commit in the upstream git.
NetworkManager-pptp-0.9.8.0-alt1 -> sisyphus: * Thu Feb 21 2013 Mikhail Efremov <sem@altlinux> 0.9.8.0-alt1 - Treat warrnings as errors again. - Conditionally enable 'usepeerdns' pppd option (by GalaxyMaster) (closes: #27665). - Updated to 0.9.8.0.