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.
*/
#include <glib.h>
#include "devmgr.h"
#include "mlock.h"
@ -35,7 +37,15 @@ DevMgr::Get()
void
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 );
UDPAddrRec rec( saddr, now );

View file

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

View file

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