--- DarwinStreamingSrvr6.0.3-Source/APICommonCode/QTAccessFile.cpp.ark 2009-08-21 10:00:02.945967460 +0000 +++ DarwinStreamingSrvr6.0.3-Source/APICommonCode/QTAccessFile.cpp 2009-08-21 10:01:42.032208669 +0000 @@ -46,7 +46,9 @@ #include <grp.h> +#ifdef __MacOSX__ #include <membership.h> +#endif #include <pwd.h> #include <signal.h> #include <unistd.h> @@ -613,6 +615,7 @@ if (DEBUG_QTACCESS) bool DSAccessFile::CheckGroupMembership(const char* inUsername, const char* inGroupName) { +#ifdef __MacOSX__ // In Tiger, group membership is painfully simple: we ask memberd for it! struct passwd *user = NULL; struct group *group = NULL; @@ -641,6 +644,16 @@ bool DSAccessFile::CheckGroupMembership( if ( mbr_check_membership(userID, groupID, &isMember) ) return false; return (bool)isMember; +#else + struct group *group = getgrnam(inGroupName); + if(!group) + return false; + int i=0; + while(group->gr_mem[i]) + if(!strcasecmp(inUsername, group->gr_mem[i])) + return true; + return false; +#endif } Bool16 DSAccessFile::ValidUser( char*userName, void* extraDataPtr) --- DarwinStreamingSrvr6.0.3-Source/CommonUtilitiesLib/OSHeaders.h.ark 2009-08-21 09:45:24.209806654 +0000 +++ DarwinStreamingSrvr6.0.3-Source/CommonUtilitiesLib/OSHeaders.h 2009-08-21 09:52:50.383095514 +0000 @@ -120,18 +120,24 @@ #elif __linux__ || __linuxppc__ || __FreeBSD__ + + #include <stdint.h> /* Defines */ #define _64BITARG_ "q" #define _S64BITARG_ "lld" #define _U64BITARG_ "llu" -#if __LP64__ + #if __LP64__ #define _S32BITARG_ "d" #define _U32BITARG_ "u" -#else + #define _SPOINTERSIZEARG_ _S64BITARG_ + #define _UPOINTERSIZEARG_ _U64BITARG_ + #else #define _S32BITARG_ "ld" #define _U32BITARG_ "lu" -#endif + #define _SPOINTERSIZEARG_ _S32BITARG_ + #define _UPOINTERSIZEARG_ _U32BITARG_ + #endif /* paths */ #define kEOLString "\n" @@ -146,17 +152,26 @@ #define QT_TIME_TO_LOCAL_TIME (-2082844800) #define QT_PATH_SEPARATOR '/' + #define kSInt16_Max (SInt16) SHRT_MAX + #define kUInt16_Max (UInt16) USHRT_MAX + + #define kSInt32_Max (SInt32) LONG_MAX + #define kUInt32_Max (UInt32) ULONG_MAX + + #define kSInt64_Max (SInt64) LONG_LONG_MAX + #define kUInt64_Max (UInt64) ULONG_LONG_MAX + /* Typedefs */ typedef signed long PointerSizedInt; typedef unsigned long PointerSizedUInt; - typedef unsigned char UInt8; - typedef signed char SInt8; - typedef unsigned short UInt16; - typedef signed short SInt16; - typedef unsigned int UInt32; - typedef signed int SInt32; - typedef signed int int SInt64; - typedef unsigned int int UInt64; + typedef uint8_t UInt8; + typedef int8_t SInt8; + typedef uint16_t UInt16; + typedef int16_t SInt16; + typedef uint32_t UInt32; + typedef int32_t SInt32; + typedef int64_t SInt64; + typedef uint64_t UInt64; typedef float Float32; typedef double Float64; typedef UInt16 Bool16; --- DarwinStreamingSrvr6.0.3-Source/Makefile.POSIX.ark 2009-08-21 09:57:54.155981073 +0000 +++ DarwinStreamingSrvr6.0.3-Source/Makefile.POSIX 2009-08-21 10:19:32.255787134 +0000 @@ -21,6 +21,7 @@ CCFLAGS += -IAPIModules CCFLAGS += -IAPICommonCode CCFLAGS += -IAPIModules/OSMemory_Modules CCFLAGS += -IAPIModules/QTSSAccessLogModule +CCFLAGS += -IAPIModules/QTSSDSAuthModule CCFLAGS += -IAPIModules/QTSSFileModule CCFLAGS += -IAPIModules/QTSSFlowControlModule CCFLAGS += -IAPIModules/QTSSReflectorModule @@ -71,13 +72,17 @@ CPPFILES = Server.tproj/QTSSExpirationD Server.tproj/RTPBandwidthTracker.cpp \ Server.tproj/RTPOverbufferWindow.cpp \ Server.tproj/RTPSessionInterface.cpp\ + Server.tproj/RTPSession3GPP.cpp \ Server.tproj/RTPStream.cpp \ + Server.tproj/RTPStream3gpp.cpp \ Server.tproj/RTSPProtocol.cpp\ Server.tproj/RTSPRequest.cpp \ + Server.tproj/RTSPRequest3GPP.cpp \ Server.tproj/RTSPRequestInterface.cpp\ Server.tproj/RTSPRequestStream.cpp \ Server.tproj/RTSPResponseStream.cpp\ Server.tproj/RTSPSession.cpp \ + Server.tproj/RTSPSession3GPP.cpp \ Server.tproj/RTSPSessionInterface.cpp\ Server.tproj/main.cpp \ Server.tproj/RunServer.cpp \ @@ -92,6 +97,8 @@ CPPFILES = Server.tproj/QTSSExpirationD HTTPUtilitiesLib/HTTPProtocol.cpp \ HTTPUtilitiesLib/HTTPRequest.cpp \ RTCPUtilitiesLib/RTCPAPPPacket.cpp\ + RTCPUtilitiesLib/RTCPAPPNADUPacket.cpp \ + RTCPUtilitiesLib/RTCPAPPQTSSPacket.cpp \ RTCPUtilitiesLib/RTCPPacket.cpp \ RTCPUtilitiesLib/RTCPSRPacket.cpp\ RTCPUtilitiesLib/RTCPAckPacket.cpp\ @@ -102,6 +109,7 @@ CPPFILES = Server.tproj/QTSSExpirationD APICommonCode/SDPSourceInfo.cpp \ APICommonCode/SourceInfo.cpp \ APICommonCode/QTAccessFile.cpp \ + APICommonCode/QTSS3GPPModuleUtils.cpp \ SafeStdLib/InternalStdLib.cpp \ APIModules/QTSSAccessLogModule/QTSSAccessLogModule.cpp \ APIModules/QTSSFileModule/QTSSFileModule.cpp \ --- DarwinStreamingSrvr6.0.3-Source/RTSPClientLib/PlayerSimulator.h.ark 2009-08-21 10:07:37.695945640 +0000 +++ DarwinStreamingSrvr6.0.3-Source/RTSPClientLib/PlayerSimulator.h 2009-08-21 10:07:45.602595798 +0000 @@ -31,7 +31,7 @@ #ifndef _PLAYERSIMULATOR_H_ #define _PLAYERSIMULATOR_H_ -#include "SafeStdLib.h"" +#include "SafeStdLib.h" #include "OSHeaders.h" #include "OS.h" #include "SVector.h" --- DarwinStreamingSrvr6.0.3-Source/Server.tproj/QTSSErrorLogModule.cpp.ark 2009-08-21 09:53:16.888925913 +0000 +++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/QTSSErrorLogModule.cpp 2009-08-21 09:55:40.535994143 +0000 @@ -41,6 +41,34 @@ #include "OS.h" #include "Task.h" +#ifdef __linux__ +size_t strlcpy(char *dst, const char *src, size_t siz); +size_t strlcpy(char *dst, const char *src, size_t siz) +{ + char *d = dst; + const char *s = src; + size_t n = siz; + + /* Copy as many bytes as will fit */ + if (n != 0) { + while (--n != 0) { + if ((*d++ = *s++) == '\0') + break; + } + } + + /* Not enough room in dst, add NUL and traverse rest of src */ + if (n == 0) { + if (siz != 0) + *d = '\0'; /* NUL-terminate dst */ + while (*s++) + ; + } + + return(s - src - 1); /* count does not include NUL */ +} +#endif + // STATIC FUNCTIONS // The dispatch function for this module --- DarwinStreamingSrvr6.0.3-Source/Server.tproj/QTSServer.cpp.ark 2009-08-21 09:58:23.436811390 +0000 +++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/QTSServer.cpp 2009-08-21 10:13:24.287735882 +0000 @@ -85,7 +85,7 @@ #include "RTCPTask.h" #include "QTSSFile.h" -#include "RTPStream3GPP.h" +#include "RTPStream3gpp.h" #include "RTSPRequest3GPP.h" // CLASS DEFINITIONS @@ -680,9 +680,11 @@ void QTSServer::LoadCompiledInModules (void)AddModule(theWebDebug); #endif +#ifdef __MacOSX__ QTSSModule* theQTSSDSAuthModule = new QTSSModule("QTSSDSAuthModule"); (void)theQTSSDSAuthModule->SetupModule(&sCallbacks, &QTSSDSAuthModule_Main); (void)AddModule(theQTSSDSAuthModule); +#endif QTSSModule* theQTACCESSmodule = new QTSSModule("QTSSAccessModule"); (void)theQTACCESSmodule->SetupModule(&sCallbacks, &QTSSAccessModule_Main); --- DarwinStreamingSrvr6.0.3-Source/Server.tproj/RTPSession.cpp.ark 2009-08-21 09:58:59.243058955 +0000 +++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/RTPSession.cpp 2009-08-21 09:59:03.853057607 +0000 @@ -38,7 +38,7 @@ #include "RTSPProtocol.h" #include "QTSServerInterface.h" #include "QTSS.h" -#include "RTSPRequest3gpp.h" +#include "RTSPRequest3GPP.h" #include "OS.h" #include "OSMemory.h" --- DarwinStreamingSrvr6.0.3-Source/Server.tproj/RTPStream3gpp.cpp.ark 2009-08-21 10:16:07.695871108 +0000 +++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/RTPStream3gpp.cpp 2009-08-21 10:16:11.514673449 +0000 @@ -34,7 +34,7 @@ #include "RTPStream.h" #include "RTPStream3gpp.h" #include "RTPSessionInterface.h" -#include "RTSPRequest3gpp.h" +#include "RTSPRequest3GPP.h" #include "RTCPAPPNADUPacket.h" #if DEBUG --- DarwinStreamingSrvr6.0.3-Source/Server.tproj/RTPStream.h.ark 2009-08-21 09:51:40.680184717 +0000 +++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/RTPStream.h 2009-08-21 09:51:46.576850719 +0000 @@ -57,7 +57,7 @@ #include "RTCPPacket.h" -#include "RTSPRequest3gpp.h" +#include "RTSPRequest3GPP.h" #ifndef MIN #define MIN(a,b) (((a)<(b))?(a):(b)) --- DarwinStreamingSrvr6.0.3-Source/Server.tproj/RTSPRequest3GPP.cpp.ark 2009-08-21 10:14:43.268832274 +0000 +++ DarwinStreamingSrvr6.0.3-Source/Server.tproj/RTSPRequest3GPP.cpp 2009-08-21 10:14:47.433286340 +0000 @@ -32,7 +32,7 @@ */ -#include "RTSPRequest3gpp.h" +#include "RTSPRequest3GPP.h" #include "RTSPProtocol.h" #include "QTSServerInterface.h" --- DarwinStreamingSrvr6.0.3-Source/StreamingLoadTool/Makefile.POSIX.ark 2009-08-21 10:10:23.459259761 +0000 +++ DarwinStreamingSrvr6.0.3-Source/StreamingLoadTool/Makefile.POSIX 2009-08-21 10:20:23.310913992 +0000 @@ -22,6 +22,7 @@ CCFLAGS += -I../CommonUtilitiesLib CCFLAGS += -I../PrefsSourceLib CCFLAGS += -I../APIStubLib CCFLAGS += -I../RTPMetaInfoLib +CCFLAGS += -I../RTCPUtilitiesLib # EACH DIRECTORY WITH A STATIC LIBRARY MUST BE APPENDED IN THIS MANNER TO THE LINKOPTS @@ -39,6 +40,7 @@ CPPFILES = StreamingLoadTool.cpp \ ../PrefsSourceLib/FilePrefsSource.cpp \ ../APICommonCode/SDPSourceInfo.cpp \ ../APICommonCode/SourceInfo.cpp \ + ../RTCPUtilitiesLib/RTCPPacket.cpp \ ../RTPMetaInfoLib/RTPMetaInfoPacket.cpp \ ../OSMemoryLib/OSMemory.cpp --- DarwinStreamingSrvr6.0.3-Source/StreamingLoadTool/StreamingLoadTool.cpp.ark 2009-08-21 09:56:02.093491990 +0000 +++ DarwinStreamingSrvr6.0.3-Source/StreamingLoadTool/StreamingLoadTool.cpp 2009-08-21 09:56:28.423489078 +0000 @@ -135,7 +135,7 @@ int main(int argc, char *argv[]) #ifndef __Win32__ struct sigaction act; -#if defined(sun) || defined(i386) || defined (__MacOSX__) || defined(__powerpc__) || defined (__osf__) || defined (__sgi_cc__) || defined (__hpux__) +#if defined(sun) || defined(i386) || defined(__x86_64__) || defined (__MacOSX__) || defined(__powerpc__) || defined (__osf__) || defined (__sgi_cc__) || defined (__hpux__) sigemptyset(&act.sa_mask); act.sa_flags = 0; act.sa_handler = (void(*)(int))&sigcatcher;