forked from Github/frigate
Support more special chars in camera passwords (#4259)
* Support more special chars in camera passwords * End password test with double @ chars * Escape passwords in paths for go2rtc * Fixes for formatting
This commit is contained in:
@@ -8,7 +8,9 @@ from frigate.util import clean_camera_user_pass, escape_special_characters
|
||||
class TestUserPassCleanup(unittest.TestCase):
|
||||
def setUp(self) -> None:
|
||||
self.rtsp_with_pass = "rtsp://user:password@192.168.0.2:554/live"
|
||||
self.rtsp_with_special_pass = "rtsp://user:password#$@@192.168.0.2:554/live"
|
||||
self.rtsp_with_special_pass = (
|
||||
"rtsp://user:password`~!@#$%^&*()-_;',.<>:\"\{\}\[\]@@192.168.0.2:554/live"
|
||||
)
|
||||
self.rtsp_no_pass = "rtsp://192.168.0.3:554/live"
|
||||
|
||||
def test_cleanup(self):
|
||||
@@ -25,7 +27,10 @@ class TestUserPassCleanup(unittest.TestCase):
|
||||
def test_special_char_password(self):
|
||||
"""Test that special characters in pw are escaped, but not others."""
|
||||
escaped = escape_special_characters(self.rtsp_with_special_pass)
|
||||
assert escaped == "rtsp://user:password%23%24%40@192.168.0.2:554/live"
|
||||
assert (
|
||||
escaped
|
||||
== "rtsp://user:password%60~%21%40%23%24%25%5E%26%2A%28%29-_%3B%27%2C.%3C%3E%3A%22%5C%7B%5C%7D%5C%5B%5C%5D%40@192.168.0.2:554/live"
|
||||
)
|
||||
|
||||
def test_no_special_char_password(self):
|
||||
"""Test that no change is made to path with no special characters."""
|
||||
|
||||
Reference in New Issue
Block a user