marstall/shim

OS X 10.7 Support

Opened this issue · 8 comments

I saw your note in the README about support for 10.7. I'm wondering if you have any idea if and when this support might be coming.

Thanks! This looks like an amazing tool!

-Brent

FWIW, here's what happens when you try to install it on 10.7:

$ sudo ./setup.sh 
Password:
installing npm ...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  7881  100  7881    0     0  20172      0 --:--:-- --:--:-- --:--:-- 49566
tar=/usr/bin/tar
version:
bsdtar 2.8.3 - libarchive 2.8.3
install npm@1.0
fetching: http://registry.npmjs.org/npm/-/npm-1.0.106.tgz
0.4.7
1.0.106
cleanup prefix=/usr/local
altprefix=/usr/local/Cellar/node/0.4.7

All clean!
/usr/local/bin/npm_g -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
/usr/local/bin/npm-g -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@1.0.106 /usr/local/lib/node_modules/npm 
It worked
installing node.js packages ...
socket.io@0.7.7 ./node_modules/socket.io 
├── policyfile@0.0.3
├── redis@0.6.0
└── socket.io-client@0.7.4
http-proxy@0.5.11 ./node_modules/http-proxy 
├── colors@0.6.0-1
└── optimist@0.2.8
ejs@0.4.3 ./node_modules/ejs 
ejs@0.4.3 ./node_modules/ejs 
/usr/local/bin/node-supervisor -> /usr/local/lib/node_modules/supervisor/lib/cli-wrapper.js
/usr/local/bin/supervisor -> /usr/local/lib/node_modules/supervisor/lib/cli-wrapper.js
supervisor@0.2.0 /usr/local/lib/node_modules/supervisor 
copying new.inet.ip flags to /etc/sysctl.conf to allow transparent-proxying ...
setting network interface privileges ...
Adding firewall rule to forward all port-80 WiFi passthrough traffic to localhost:3128 ...
ipfw: rule 2000: setsockopt(IP_FW_DEL): Invalid argument
net.inet.ip.forwarding: 0 -> 1
net.inet.ip.fw.enable: 1 -> 1
net.inet.ip.fw.verbose: 0 -> 1
sysctl: oid 'net.inet.ip.scopedroute' is read only

I tried to click a like button Brent!

sshuttle (https://github.com/apenwarr/sshuttle) had this exact same problem on 10.7. apenwarr and co solved it with this commit, which is a bit hacky but fixes the problem for good: apenwarr/sshuttle@4c1a505

Confirming this problem with exactly same symthoms as jonursenbach posted. Is there any hope for us on 10.7? :)

@n1313 You can manually apply the sshuttle fix with:

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.Boot "Kernel Flags" "net.inet.ip.scopedroute=0”

then convert the plist to xml:

sudo plutil -convert xml1 /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

After you’re done, confirm the change like this:

% sudo defaults read /Library/Preferences/SystemConfiguration/com.apple.Boot
{
    "Kernel Flags" = "net.inet.ip.scopedroute=0";
}

and make sure it’s in XML form (otherwise the kernel can’t read it at boot)

cat /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

then reboot. Then try installing shim again.

@cbowns I tried your solution since I'm on 10.7 but it didn't work out. After reboot, my "Kernel Flags" turned into "Kernel \n Flags" and installing the shim returned the same "sysctl: oid 'net.inet.ip.scopedroute' is read only".

Any help would be appreciated !

@nobleskine Sounds weird. I’d be happy to help you get it working: my contact info is at http://cbowns.com/contact

Ok, that script does bad things to your kernel plist (like nuking any other flags you may have set), and it doesn’t even work. This should fix it.