Fix addStreamProxy rtsp url user or pass contain special char result in auth failed (#2545)

This commit is contained in:
xiongguangjie 2023-06-10 18:46:30 +08:00 committed by GitHub
parent 24fb666fb3
commit 67d5c42007
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 7 additions and 5 deletions

View File

@ -10,6 +10,7 @@
#include <cinttypes> #include <cinttypes>
#include "Parser.h" #include "Parser.h"
#include "strCoding.h"
#include "macros.h" #include "macros.h"
#include "Network/sockutil.h" #include "Network/sockutil.h"
#include "Common/macros.h" #include "Common/macros.h"
@ -287,9 +288,10 @@ void RtspUrl::setup(bool is_ssl, const string &url, const string &user, const st
uint16_t port = is_ssl ? 322 : 554; uint16_t port = is_ssl ? 322 : 554;
splitUrl(ip, ip, port); splitUrl(ip, ip, port);
_url = std::move(url); _url = std::move(url);
_user = std::move(user); _user = strCoding::UrlDecode(std::move(user));
_passwd = std::move(passwd); _passwd = strCoding::UrlDecode(std::move(passwd));
_host = std::move(ip); _host = std::move(ip);
_port = port; _port = port;
_is_ssl = is_ssl; _is_ssl = is_ssl;

View File

@ -22,7 +22,7 @@
#include "HttpRequestSplitter.h" #include "HttpRequestSplitter.h"
#include "HttpCookie.h" #include "HttpCookie.h"
#include "HttpChunkedSplitter.h" #include "HttpChunkedSplitter.h"
#include "strCoding.h" #include "Common/strCoding.h"
#include "HttpBody.h" #include "HttpBody.h"
namespace mediakit { namespace mediakit {

View File

@ -20,7 +20,7 @@
#include "Record/HlsMediaSource.h" #include "Record/HlsMediaSource.h"
#include "Common/Parser.h" #include "Common/Parser.h"
#include "Common/config.h" #include "Common/config.h"
#include "strCoding.h" #include "Common/strCoding.h"
using namespace std; using namespace std;
using namespace toolkit; using namespace toolkit;

View File

@ -12,7 +12,7 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <algorithm> #include <algorithm>
#include "Common/config.h" #include "Common/config.h"
#include "strCoding.h" #include "Common/strCoding.h"
#include "HttpSession.h" #include "HttpSession.h"
#include "HttpConst.h" #include "HttpConst.h"
#include "Util/base64.h" #include "Util/base64.h"