Fixed authentication issues.
git-svn-id: http://yate.null.ro/svn/yate/trunk@387 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
parent
e6fd87f0a6
commit
0644fc3d34
|
@ -860,7 +860,7 @@ bool Regexp::matches(const char* value, StringMatchPrivate* matches)
|
||||||
{
|
{
|
||||||
DDebug(DebugInfo,"Regexp::matches(\"%s\",%p)",value,matches);
|
DDebug(DebugInfo,"Regexp::matches(\"%s\",%p)",value,matches);
|
||||||
if (!value)
|
if (!value)
|
||||||
return false;
|
value = "";
|
||||||
if (!compile())
|
if (!compile())
|
||||||
return false;
|
return false;
|
||||||
int mm = matches ? MAX_MATCH : 0;
|
int mm = matches ? MAX_MATCH : 0;
|
||||||
|
|
|
@ -83,8 +83,12 @@ private:
|
||||||
bool AuthHandler::received(Message &msg)
|
bool AuthHandler::received(Message &msg)
|
||||||
{
|
{
|
||||||
String username(msg.getValue("username"));
|
String username(msg.getValue("username"));
|
||||||
msg.retValue() = s_cfg.getValue(username,"password");
|
const NamedList* sect = s_cfg.getSection(username);
|
||||||
return (!msg.retValue().null());
|
if (sect) {
|
||||||
|
msg.retValue() = sect->getValue("password");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -374,8 +374,8 @@ bool YateSIPEngine::checkUser(const String& username, const String& realm, const
|
||||||
m.addParam("uri",uri);
|
m.addParam("uri",uri);
|
||||||
m.addParam("response",response);
|
m.addParam("response",response);
|
||||||
if (message) {
|
if (message) {
|
||||||
m.addParam("xsip_received",message->getParty()->getPartyAddr());
|
m.addParam("ip_addr",message->getParty()->getPartyAddr());
|
||||||
m.addParam("xsip_rport",String(message->getParty()->getPartyPort()));
|
m.addParam("ip_port",String(message->getParty()->getPartyPort()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Engine::dispatch(m))
|
if (!Engine::dispatch(m))
|
||||||
|
@ -664,11 +664,11 @@ YateSIPConnection::YateSIPConnection(SIPEvent* ev, SIPTransaction* tr)
|
||||||
if (age >= 0) {
|
if (age >= 0) {
|
||||||
if (age < 10) {
|
if (age < 10) {
|
||||||
m_user = user;
|
m_user = user;
|
||||||
m->addParam("user",m_user);
|
m->addParam("username",m_user);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
m->addParam("xsip_user",user);
|
m->addParam("expired_user",user);
|
||||||
m->addParam("xsip_nonce_age",String(age));
|
m->addParam("nonce_age",String(age));
|
||||||
}
|
}
|
||||||
|
|
||||||
m->addParam("caller",m_uri.getUser());
|
m->addParam("caller",m_uri.getUser());
|
||||||
|
@ -677,13 +677,13 @@ YateSIPConnection::YateSIPConnection(SIPEvent* ev, SIPTransaction* tr)
|
||||||
int maxf = tmp.toInteger(70);
|
int maxf = tmp.toInteger(70);
|
||||||
tmp = (maxf/10)-1;
|
tmp = (maxf/10)-1;
|
||||||
m->addParam("antiloop",tmp);
|
m->addParam("antiloop",tmp);
|
||||||
|
m->addParam("ip_addr",m_host);
|
||||||
|
m->addParam("ip_port",String(m_port));
|
||||||
m->addParam("sip_uri",uri);
|
m->addParam("sip_uri",uri);
|
||||||
m->addParam("sip_from",m_uri);
|
m->addParam("sip_from",m_uri);
|
||||||
m->addParam("sip_callid",m_callid);
|
m->addParam("sip_callid",m_callid);
|
||||||
m->addParam("sip_contact",ev->getMessage()->getHeaderValue("Contact"));
|
m->addParam("sip_contact",ev->getMessage()->getHeaderValue("Contact"));
|
||||||
m->addParam("sip_user-agent",ev->getMessage()->getHeaderValue("User-Agent"));
|
m->addParam("sip_user-agent",ev->getMessage()->getHeaderValue("User-Agent"));
|
||||||
m->addParam("xsip_received",m_host);
|
|
||||||
m->addParam("xsip_rport",String(m_port));
|
|
||||||
if (ev->getMessage()->body && ev->getMessage()->body->isSDP()) {
|
if (ev->getMessage()->body && ev->getMessage()->body->isSDP()) {
|
||||||
parseSDP(static_cast<SDPBody*>(ev->getMessage()->body),m_rtpAddr,m_rtpPort,m_formats);
|
parseSDP(static_cast<SDPBody*>(ev->getMessage()->body),m_rtpAddr,m_rtpPort,m_formats);
|
||||||
if (m_rtpAddr) {
|
if (m_rtpAddr) {
|
||||||
|
@ -1211,7 +1211,7 @@ bool YateSIPConnection::callRouted(Message& msg)
|
||||||
void YateSIPConnection::callAccept(Message& msg)
|
void YateSIPConnection::callAccept(Message& msg)
|
||||||
{
|
{
|
||||||
Channel::callAccept(msg);
|
Channel::callAccept(msg);
|
||||||
m_user = msg.getValue("user");
|
m_user = msg.getValue("username");
|
||||||
}
|
}
|
||||||
|
|
||||||
void YateSIPConnection::callReject(const char* error, const char* reason)
|
void YateSIPConnection::callReject(const char* error, const char* reason)
|
||||||
|
|
Loading…
Reference in New Issue