Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package live555 for openSUSE:Factory checked in at 2022-10-04 20:36:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/live555 (Old) and /work/SRC/openSUSE:Factory/.live555.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "live555" Tue Oct 4 20:36:52 2022 rev:34 rq:1007620 version:2022.10.01 Changes: -------- --- /work/SRC/openSUSE:Factory/live555/live555.changes 2022-07-26 19:42:19.495270478 +0200 +++ /work/SRC/openSUSE:Factory/.live555.new.2275/live555.changes 2022-10-04 20:36:56.688849692 +0200 @@ -1,0 +2,11 @@ +Sun Oct 2 12:37:44 UTC 2022 - Dirk M??ller <dmuel...@suse.com> + +- update to 2022.10.01: + - Updated the previous revision so that the virtual function "specialHandlingOfAuthenticationFailure()" + is now called only if there is an actual authentication failure - not on the first time that + we send back a "401 Unauthorized" response. + - Added a new virtual function "specialHandlingOfAuthenticationFailure()" to "RTSPServer" to + allow a subclassed "RTSPServer" to take special action (e.g., statistics logging) + whenever an authentication failure occurs. + +------------------------------------------------------------------- Old: ---- live.2022.07.14.tar.gz New: ---- live.2022.10.01.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ live555.spec ++++++ --- /var/tmp/diff_new_pack.1ozC12/_old 2022-10-04 20:36:57.440850761 +0200 +++ /var/tmp/diff_new_pack.1ozC12/_new 2022-10-04 20:36:57.444850767 +0200 @@ -20,7 +20,7 @@ %define lmdmaj 107 Name: live555 -Version: 2022.07.14 +Version: 2022.10.01 Release: 0 Summary: LIVE555 Streaming Media License: LGPL-2.1-only ++++++ live.2022.07.14.tar.gz -> live.2022.10.01.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/live/BasicUsageEnvironment/include/BasicUsageEnvironment_version.hh new/live/BasicUsageEnvironment/include/BasicUsageEnvironment_version.hh --- old/live/BasicUsageEnvironment/include/BasicUsageEnvironment_version.hh 2022-07-14 09:22:05.000000000 +0200 +++ new/live/BasicUsageEnvironment/include/BasicUsageEnvironment_version.hh 2022-10-01 08:02:16.000000000 +0200 @@ -19,7 +19,7 @@ #ifndef _BASICUSAGEENVIRONMENT_VERSION_HH #define _BASICUSAGEENVIRONMENT_VERSION_HH -#define BASICUSAGEENVIRONMENT_LIBRARY_VERSION_STRING "2022.07.14" -#define BASICUSAGEENVIRONMENT_LIBRARY_VERSION_INT 1657756800 +#define BASICUSAGEENVIRONMENT_LIBRARY_VERSION_STRING "2022.10.01" +#define BASICUSAGEENVIRONMENT_LIBRARY_VERSION_INT 1664582400 #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/live/UsageEnvironment/include/UsageEnvironment_version.hh new/live/UsageEnvironment/include/UsageEnvironment_version.hh --- old/live/UsageEnvironment/include/UsageEnvironment_version.hh 2022-07-14 09:22:05.000000000 +0200 +++ new/live/UsageEnvironment/include/UsageEnvironment_version.hh 2022-10-01 08:02:16.000000000 +0200 @@ -19,7 +19,7 @@ #ifndef _USAGEENVIRONMENT_VERSION_HH #define _USAGEENVIRONMENT_VERSION_HH -#define USAGEENVIRONMENT_LIBRARY_VERSION_STRING "2022.07.14" -#define USAGEENVIRONMENT_LIBRARY_VERSION_INT 1657756800 +#define USAGEENVIRONMENT_LIBRARY_VERSION_STRING "2022.10.01" +#define USAGEENVIRONMENT_LIBRARY_VERSION_INT 1664582400 #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/live/config.linux-with-shared-libraries new/live/config.linux-with-shared-libraries --- old/live/config.linux-with-shared-libraries 2022-07-14 09:22:20.000000000 +0200 +++ new/live/config.linux-with-shared-libraries 2022-10-01 08:02:27.000000000 +0200 @@ -3,9 +3,9 @@ # At least one interface changes, or is removed => CURRENT += 1; REVISION = 0; AGE = 0 # One or more interfaces were added, but no existing interfaces were changed or removed => CURRENT += 1; REVISION = 0; AGE += 1 -libliveMedia_VERSION_CURRENT=108 -libliveMedia_VERSION_REVISION=0 -libliveMedia_VERSION_AGE=1 +libliveMedia_VERSION_CURRENT=109 +libliveMedia_VERSION_REVISION=1 +libliveMedia_VERSION_AGE=2 libliveMedia_LIB_SUFFIX=so.$(shell expr $(libliveMedia_VERSION_CURRENT) - $(libliveMedia_VERSION_AGE)).$(libliveMedia_VERSION_AGE).$(libliveMedia_VERSION_REVISION) libBasicUsageEnvironment_VERSION_CURRENT=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/live/groupsock/include/groupsock_version.hh new/live/groupsock/include/groupsock_version.hh --- old/live/groupsock/include/groupsock_version.hh 2022-07-14 09:22:05.000000000 +0200 +++ new/live/groupsock/include/groupsock_version.hh 2022-10-01 08:02:16.000000000 +0200 @@ -19,7 +19,7 @@ #ifndef _GROUPSOCK_VERSION_HH #define _GROUPSOCK_VERSION_HH -#define GROUPSOCK_LIBRARY_VERSION_STRING "2022.07.14" -#define GROUPSOCK_LIBRARY_VERSION_INT 1657756800 +#define GROUPSOCK_LIBRARY_VERSION_STRING "2022.10.01" +#define GROUPSOCK_LIBRARY_VERSION_INT 1664582400 #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/live/liveMedia/RTSPServer.cpp new/live/liveMedia/RTSPServer.cpp --- old/live/liveMedia/RTSPServer.cpp 2022-07-14 09:22:04.000000000 +0200 +++ new/live/liveMedia/RTSPServer.cpp 2022-10-01 08:02:16.000000000 +0200 @@ -158,17 +158,26 @@ return fAuthDB; } -Boolean RTSPServer::specialClientAccessCheck(int /*clientSocket*/, struct sockaddr_storage const& /*clientAddr*/, char const* /*urlSuffix*/) { +Boolean RTSPServer::specialClientAccessCheck(int /*clientSocket*/, + struct sockaddr_storage const& /*clientAddr*/, + char const* /*urlSuffix*/) { // default implementation return True; } -Boolean RTSPServer::specialClientUserAccessCheck(int /*clientSocket*/, struct sockaddr_storage const& /*clientAddr*/, +Boolean RTSPServer::specialClientUserAccessCheck(int /*clientSocket*/, + struct sockaddr_storage const& /*clientAddr*/, char const* /*urlSuffix*/, char const * /*username*/) { // default implementation; no further access restrictions: return True; } +void RTSPServer +::specialHandlingOfAuthenticationFailure(int /*clientSocket*/, + struct sockaddr_storage const& /*clientAddr*/, + char const* /*urlSuffix*/) { + // default implementation: do nothing +} RTSPServer::RTSPServer(UsageEnvironment& env, int ourSocketIPv4, int ourSocketIPv6, Port ourPort, @@ -1134,6 +1143,7 @@ // If we get here, we failed to authenticate the user. // Send back a "401 Unauthorized" response, with a new random nonce: + Boolean isInitial401 = fCurrentAuthenticator.nonce() == NULL; fCurrentAuthenticator.setRealmAndRandomNonce(authDB->realm()); snprintf((char*)fResponseBuffer, sizeof fResponseBuffer, "RTSP/1.0 401 Unauthorized\r\n" @@ -1143,6 +1153,9 @@ fCurrentCSeq, dateHeader(), fCurrentAuthenticator.realm(), fCurrentAuthenticator.nonce()); + if (!isInitial401) { // this is an actual authentication failure + fOurRTSPServer.specialHandlingOfAuthenticationFailure(fClientInputSocket, fClientAddr, urlSuffix); + } return False; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/live/liveMedia/include/RTSPServer.hh new/live/liveMedia/include/RTSPServer.hh --- old/live/liveMedia/include/RTSPServer.hh 2022-07-14 09:22:04.000000000 +0200 +++ new/live/liveMedia/include/RTSPServer.hh 2022-10-01 08:02:16.000000000 +0200 @@ -131,15 +131,21 @@ // used to implement "RTSPClientConnection::handleCmd_REGISTER()" virtual UserAuthenticationDatabase* getAuthenticationDatabaseForCommand(char const* cmdName); - virtual Boolean specialClientAccessCheck(int clientSocket, struct sockaddr_storage const& clientAddr, + virtual Boolean specialClientAccessCheck(int clientSocket, + struct sockaddr_storage const& clientAddr, char const* urlSuffix); // a hook that allows subclassed servers to do server-specific access checking // on each client (e.g., based on client IP address), without using digest authentication. - virtual Boolean specialClientUserAccessCheck(int clientSocket, struct sockaddr_storage const& clientAddr, + virtual Boolean specialClientUserAccessCheck(int clientSocket, + struct sockaddr_storage const& clientAddr, char const* urlSuffix, char const *username); // another hook that allows subclassed servers to do server-specific access checking // - this time after normal digest authentication has already taken place (and would otherwise allow access). // (This test can only be used to further restrict access, not to grant additional access.) + virtual void specialHandlingOfAuthenticationFailure(int clientSocket, + struct sockaddr_storage const& clientAddr, + char const* urlSuffix); + // a hook that allows subclassed servers to take extra action whenevever an authentication failure occurs public: // redefined virtual functions virtual Boolean isRTSPServer() const; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/live/liveMedia/include/liveMedia_version.hh new/live/liveMedia/include/liveMedia_version.hh --- old/live/liveMedia/include/liveMedia_version.hh 2022-07-14 09:22:04.000000000 +0200 +++ new/live/liveMedia/include/liveMedia_version.hh 2022-10-01 08:02:16.000000000 +0200 @@ -19,7 +19,7 @@ #ifndef _LIVEMEDIA_VERSION_HH #define _LIVEMEDIA_VERSION_HH -#define LIVEMEDIA_LIBRARY_VERSION_STRING "2022.07.14" -#define LIVEMEDIA_LIBRARY_VERSION_INT 1657756800 +#define LIVEMEDIA_LIBRARY_VERSION_STRING "2022.10.01" +#define LIVEMEDIA_LIBRARY_VERSION_INT 1664582400 #endif