From 41a78d52e6f4e3bc51d7dad0cc62c0a165dda761 Mon Sep 17 00:00:00 2001 From: Stefan Sayer Date: Mon, 13 Jul 2009 14:48:30 +0000 Subject: [PATCH] return 400 (client) error on invalid address. Log as warning, not error git-svn-id: http://svn.berlios.de/svnroot/repos/sems/trunk@1465 8eb893ce-cfd4-0310-b710-fb5ebe64c474 --- core/AmRtpStream.cpp | 2 +- core/AmSession.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/core/AmRtpStream.cpp b/core/AmRtpStream.cpp index e0251cac..57fb7e18 100644 --- a/core/AmRtpStream.cpp +++ b/core/AmRtpStream.cpp @@ -436,7 +436,7 @@ void AmRtpStream::setRAddr(const string& addr, unsigned short port) * We need to do more sophisticated parsing -- hence p_s_i_f_n(). */ if (!populate_sockaddr_in_from_name(addr, &sa)) { - ERROR("Address not valid (host: %s).\n", addr.c_str()); + WARN("Address not valid (host: %s).\n", addr.c_str()); throw string("invalid address"); } diff --git a/core/AmSession.cpp b/core/AmSession.cpp index 4ef51f84..76a5bc7e 100644 --- a/core/AmSession.cpp +++ b/core/AmSession.cpp @@ -276,6 +276,9 @@ void AmSession::negotiate(const string& sdp_body, rtp_str.setLocalIP(AmConfig::LocalIP); rtp_str.setPassiveMode(passive_mode); rtp_str.setRAddr(r_host, r_port); + } catch (const string& err_str) { + unlockAudio(); + throw AmSession::Exception(400, err_str); } catch (...) { unlockAudio(); throw;