[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