c++11 conversion (boost:shared_ptr/bind/function->std)
use SO_PEERCRED instead of getpeereid

linux call, not BSD