correctly log b64 dump of return address at record and use sites

This commit is contained in:
Eric House 2013-07-17 06:37:06 -07:00
parent 62dacb83d8
commit d436232800
3 changed files with 17 additions and 6 deletions

View file

@ -18,6 +18,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/ */
#include <glib.h>
#include "devmgr.h" #include "devmgr.h"
#include "mlock.h" #include "mlock.h"
@ -35,7 +37,15 @@ DevMgr::Get()
void void
DevMgr::Remember( DevIDRelay devid, const AddrInfo::AddrUnion* saddr ) DevMgr::Remember( DevIDRelay devid, const AddrInfo::AddrUnion* saddr )
{ {
logf( XW_LOGINFO, "%s(devid=%d)", __func__, devid ); assert( DBMgr::DEVID_NONE != devid );
XW_LogLevel level = XW_LOGINFO;
if ( willLog( level ) ) {
gchar* b64 = g_base64_encode( (unsigned char*)&saddr->addr, sizeof(saddr->addr) );
logf( level, "%s(devid=%d, saddr='%s')", __func__, devid, b64 );
g_free( b64 );
}
time_t now = time( NULL ); time_t now = time( NULL );
UDPAddrRec rec( saddr, now ); UDPAddrRec rec( saddr, now );

View file

@ -91,7 +91,7 @@ static int s_nSpawns = 0;
static int g_maxsocks = -1; static int g_maxsocks = -1;
static int g_udpsock = -1; static int g_udpsock = -1;
static bool bool
willLog( XW_LogLevel level ) willLog( XW_LogLevel level )
{ {
RelayConfigs* rc = RelayConfigs::GetConfigs(); RelayConfigs* rc = RelayConfigs::GetConfigs();
@ -419,7 +419,7 @@ denyConnection( const AddrInfo* addr, XWREASON err )
} }
static ssize_t static ssize_t
send_via_udp( int socket, const struct sockaddr *dest_addr, send_via_udp( int socket, const struct sockaddr* dest_addr,
XWRelayReg cmd, ... ) XWRelayReg cmd, ... )
{ {
uint32_t packetNum = UDPAckTrack::nextPacketID( cmd ); uint32_t packetNum = UDPAckTrack::nextPacketID( cmd );
@ -462,13 +462,13 @@ send_via_udp( int socket, const struct sockaddr *dest_addr,
XW_LogLevel level = XW_LOGINFO; XW_LogLevel level = XW_LOGINFO;
if ( willLog( level ) ) { if ( willLog( level ) ) {
gchar* b64 = g_base64_encode( (unsigned char*)dest_addr, sizeof(dest_addr) ); gchar* b64 = g_base64_encode( (unsigned char*)dest_addr, sizeof(*dest_addr) );
logf( level, "%s()=>%d; addr=%s", __func__, nSent, b64 ); logf( level, "%s()=>%d; addr='%s'", __func__, nSent, b64 );
g_free( b64 ); g_free( b64 );
} }
return nSent; return nSent;
} } // send_via_udp
/* No mutex here. Caller better be ensuring no other thread can access this /* No mutex here. Caller better be ensuring no other thread can access this
* socket. */ * socket. */

View file

@ -42,6 +42,7 @@ typedef enum {
} XW_LogLevel; } XW_LogLevel;
void logf( XW_LogLevel level, const char* format, ... ); void logf( XW_LogLevel level, const char* format, ... );
bool willLog( XW_LogLevel level );
void denyConnection( const AddrInfo* addr, XWREASON err ); void denyConnection( const AddrInfo* addr, XWREASON err );
bool send_with_length_unsafe( const AddrInfo* addr, bool send_with_length_unsafe( const AddrInfo* addr,