securesocketfunneling / ssf

Secure Socket Funneling - Network tool and toolkit - TCP and UDP port forwarding, SOCKS proxy, remote shell, standalone and cross platform
https://securesocketfunneling.github.io/ssf/
Other
1.6k stars 234 forks source link

Is OSX still supported? #50

Closed jnardone closed 7 years ago

jnardone commented 7 years ago

I tried to build this on MacOS Sierra, and ran into several issues.

  1. The build instructions only say to update certain submodules, but you really need to do all of them e.g. git submodule update --init

  2. The clang/llvm compiler on OSX does not like the assembler directive in src/compat/memcpy.cpp - it doesn't understand symver. It's unclear whether or not this is needed. I tightened up the #if to exclude this. Similarly I had to modify src/compat/CMakeFiles.txt to not link this library in.

  3. There's a const-ness error in src/common/filesystem/path.h/cpp - the == operator must be made const e.g. bool Path::operator==(const Path& path) const

However, although this allows compilation to succeed, neither the client nor server start. They execute but print no output; building the same code from HEAD on Linux properly shows errors for missing config etc.

securesocketfunneling commented 7 years ago

Hello @jnardone ,

Thanks for your feedback!

  1. That's right, the build instructions need some updates. We added recently dependencies with cxxopts and spdlog libraries but they are not listed at the moment.
  2. The memcpy tweak is not needed for OS X build.
  3. Oops...

The log issue resides in this test. No sink is added to the logger. However, client and server should work as expected.

We will provide some patches soon to fix your issues and the documentation.

Many thanks

securesocketfunneling commented 7 years ago

Thanks for your contribution @jnardone!

SSF 3.0.0 is out. Do not hesitate to send us feedback on your usage on OS X!