Yosemite woes
I recently purchased a new MacBook Pro and it came pre-installed with Yosemite. While I did examine the Yosemite betas, I only did so under a VM and only to check that the Open Source projects I work on would continue to build and operate correctly under it.
I use VPN between home and work pretty often (and in both directions), so it’s
really part of my everyday workflow. In Connecting to a safe@office vpn on a
Mac I described how VPN
connections can lead to the execution of /etc/ppp/ip-up
and /etc/ppp/ip-down
for helping to perform any additional setup that may be required. As part of
this process, extra options for the pppd daemon are read from
/etc/ppp/peers/VPN-Connnection-Name
. In my case, I stuffed the file with
ipparam VPN-Connection-Name
, which would then cause ip-up
and ip-down
to
be called with an extra parameter: the connection name. I use that feature
to setup better routing since our network is segmented and the default setup
does not work correctly.
Yosemite decided to break with tradition here, and not in a helpful way. It
appears that pppd no longer examines /etc/ppp/peers/VPN-Connection-Name
–at
least not for L2TP connections. This means I can no longer pass the name of the
VPN to the ip-up
and ip-down
scripts. Additionally, Yosemite decided that a
more useful trick was to pass the Ethernet address of the device that is helping
to setup the link as the 6th parameter instead. This means that you’re stuck
trying to determine what you’re connecting to by using the remote ip (parameter
5) to the ip-up
script. This is highly frustrating because it means if you
have several VPN connections and they map to the same private IP space, then
you’re screwed in trying to figure out which one you are actually connecting to.
Fortunately, that wasn’t the case for me, but it points to the poor substitute of a solution Apple put into place. How they thought this was a useful thing to do, I don’t know, but I’ve got to imagine that a number of folks are torqued over the new behavior.
As if that wasn’t enough, Yosemite will now refuse to use normal DNS resolution
for anything that ends with .local
. This is also highly frustrating as it
required a hack to get hostnames to resolve:
I’m not entirely sure how this works, but I imagine it’s because Active
Directory use to default to .local
style names and this is to help force DNS
resolution for those cases (yay, we’re one of them). However, to persist the
setting you have to put together a launchd agent, which requires a small script
and a plist. And, I don’t know how it affect other things, like the Multicast
DNS resolution used to locate your Apple devices on your subnet.
All of this leaves me in a rather grim mood. I moved away from Windows because I was tired of Microsoft telling me that they owned my computer, and *nix-based operating system was just better for doing development. At the time, I had been dual-booting Windows and Linux, and I simply stopped. I wiped Windows off of my computer, and went all Linux. I ran that way for quite a while (8 years?) before I decided that I really like photography and wanted better access to products like Adobe Photoshop and Lightroom, and I wanted to do less configuration of my machines, less maintenance, and less troubleshooting.
Around that time, Apple switch to Mac OS X and I waited a bit before jumping on the bandwagon–I get Unix and support for some commercial software! Since that time, I’ve used only Apple computers at home and have been largely happy with that decision. They make nice hardware, and I’ve not had to do nearly as much maintenance… until these last few releases.
Apple, I know I’m not the 80% or even in the 90% of users out there–I’m probably in the 1% or the 5%, but stop f*cking sh!t up for me. I’m not a number, I’m a person, and I’m tired of chasing down issues because you cannot imagine a person like me as a user of your products. Be humane and stop treating me like a statistic.
Fix your VPN client. And add an option to turn off the damn startup chime so I don’t have to remember to mute the internal speakers.
P.S. For those of you who might suggest using
sudo nvram "SystemAudioVolume=%00"
(or something similar), it doesn’t work.
The OS writes out an updated value before shutting down, effectively clobbering
your value.