[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] protocol/http http_demux.cpp,1.73,1.74
From: mingda () helixcommunity ! org
Date: 2013-02-28 9:26:47
[Download RAW message or body]
Update of /cvsroot/server/protocol/http
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv10514
Modified Files:
http_demux.cpp
Log Message:
Committed to: SERVER_15_0_RN, HEAD
Reviewed by: Xiaocheng
Verification Build:
http://build.dev.prognet.com/~build/report.cgi?id=236852
Synopsis:
=========
[JIRA] (HLXSRV-137) [Session Manager]: There are two session start and session stop \
when use cookie function.
Branch: SERVER_15, HEAD
Suggested Reviewers: Anyone
Description:
===============
Version: servproxyall-020113-19206
Platform:
RHEL5
Description:
Precondition:
Enable session manager function and Enable cookie function of the client.
100% Reproducible: Yes
Repro:
1, Play the OD stream with iOS6 via:
http://192.168.35.69/m3ugen/segsrc/meet.mp4
Expected:
It should only have one session start and session stop.
Actual:
It has two session start and session stop.
Analysis and solution:
On iPhone/iPad and some android devices, cookies for browser and media player are \
independent. In normal case, they should be same. But if they are different, the \
cookie parameter in url should be chosen since they always the latest.
-----------------------------------------------------------------------------------------------
Make the session manager more flexible with the bypass setting.
Add a new state variable for hls session. It indicates the validation result \
generated from the legacy logic. If the validation result is VALIDATION_NOTDONE, hls \
session validation process will not skip the legacy validation logic.
-----------------------------------------------------------------------------------------------
Some change for hpl support is also included.
Files affected
=====================
sds/session/daucplin.cpp
sds/session/daucplin.h
server-restricted/protocol/http/httpallow.cpp
server-restricted/protocol/http/pub/httpallow.h
server/protocol/http/http_demux.cpp
common/include/hxallow.h
Test perform
===================
Integration Tests:
None
Leak Tests: None
Performance Tests: N/A
Platforms Tested: win-x86_64-vc10.
Builds Verified: win-x86_64-vc10.
QA Hints
========
None.
Index: http_demux.cpp
===================================================================
RCS file: /cvsroot/server/protocol/http/http_demux.cpp,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- http_demux.cpp 30 Jan 2013 03:41:18 -0000 1.73
+++ http_demux.cpp 28 Feb 2013 09:26:39 -0000 1.74
@@ -735,29 +735,30 @@
CHXString strCookie2 = pUrlCookie;
ret2 = HelixCookieIdUtility::Parser(strCookie2, pCookie2);
}
-
- if(HXR_OK == ret)
+
+ if(HXR_OK == ret2)
{
- if(pCookie->streamer_number < Process::numprocs())
+ if(pCookie2->streamer_number < Process::numprocs())
{
- \
static_cast<CHXServSocket*>(m_pSock)->Dispatch(pCookie->streamer_number); + \
static_cast<CHXServSocket*>(m_pSock)->Dispatch(pCookie2->streamer_number); }
else if (bFirstRun && m_pResponse->AutoDispatch())
{
static_cast<CHXServSocket*>(m_pSock)->Dispatch();
}
}
- else if(HXR_OK == ret2)
+ else if(HXR_OK == ret)
{
- if(pCookie2->streamer_number < Process::numprocs())
+ if(pCookie->streamer_number < Process::numprocs())
{
- \
static_cast<CHXServSocket*>(m_pSock)->Dispatch(pCookie2->streamer_number); + \
static_cast<CHXServSocket*>(m_pSock)->Dispatch(pCookie->streamer_number); }
else if (bFirstRun && m_pResponse->AutoDispatch())
{
static_cast<CHXServSocket*>(m_pSock)->Dispatch();
}
}
+
else if(nIPTableEabled)
{
//dispatch by IP.
_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic