{"url":"https://api.github.com/repos/hestiacp/hestiacp/pulls/5196","id":3124730000,"node_id":"PR_kwDOCVWlO866P5iQ","html_url":"https://github.com/hestiacp/hestiacp/pull/5196","diff_url":"https://github.com/hestiacp/hestiacp/pull/5196.diff","patch_url":"https://github.com/hestiacp/hestiacp/pull/5196.patch","issue_url":"https://api.github.com/repos/hestiacp/hestiacp/issues/5196","number":5196,"state":"closed","locked":false,"title":"Harden DNS record listing escaping","user":{"login":"divinity76","id":1874996,"node_id":"MDQ6VXNlcjE4NzQ5OTY=","avatar_url":"https://avatars.githubusercontent.com/u/1874996?v=4","gravatar_id":"","url":"https://api.github.com/users/divinity76","html_url":"https://github.com/divinity76","followers_url":"https://api.github.com/users/divinity76/followers","following_url":"https://api.github.com/users/divinity76/following{/other_user}","gists_url":"https://api.github.com/users/divinity76/gists{/gist_id}","starred_url":"https://api.github.com/users/divinity76/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/divinity76/subscriptions","organizations_url":"https://api.github.com/users/divinity76/orgs","repos_url":"https://api.github.com/users/divinity76/repos","events_url":"https://api.github.com/users/divinity76/events{/privacy}","received_events_url":"https://api.github.com/users/divinity76/received_events","type":"User","user_view_type":"public","site_admin":false},"body":null,"created_at":"2025-12-23T02:44:04Z","updated_at":"2025-12-29T15:06:15Z","closed_at":"2025-12-29T15:06:15Z","merged_at":"2025-12-29T15:06:15Z","merge_commit_sha":"07dda18ef0087ea981ff84d4d5757774cf2124b0","assignees":[],"requested_reviewers":[{"login":"AlecRust","id":247634,"node_id":"MDQ6VXNlcjI0NzYzNA==","avatar_url":"https://avatars.githubusercontent.com/u/247634?v=4","gravatar_id":"","url":"https://api.github.com/users/AlecRust","html_url":"https://github.com/AlecRust","followers_url":"https://api.github.com/users/AlecRust/followers","following_url":"https://api.github.com/users/AlecRust/following{/other_user}","gists_url":"https://api.github.com/users/AlecRust/gists{/gist_id}","starred_url":"https://api.github.com/users/AlecRust/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AlecRust/subscriptions","organizations_url":"https://api.github.com/users/AlecRust/orgs","repos_url":"https://api.github.com/users/AlecRust/repos","events_url":"https://api.github.com/users/AlecRust/events{/privacy}","received_events_url":"https://api.github.com/users/AlecRust/received_events","type":"User","user_view_type":"public","site_admin":false},{"login":"ScIT-Raphael","id":13765400,"node_id":"MDQ6VXNlcjEzNzY1NDAw","avatar_url":"https://avatars.githubusercontent.com/u/13765400?v=4","gravatar_id":"","url":"https://api.github.com/users/ScIT-Raphael","html_url":"https://github.com/ScIT-Raphael","followers_url":"https://api.github.com/users/ScIT-Raphael/followers","following_url":"https://api.github.com/users/ScIT-Raphael/following{/other_user}","gists_url":"https://api.github.com/users/ScIT-Raphael/gists{/gist_id}","starred_url":"https://api.github.com/users/ScIT-Raphael/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ScIT-Raphael/subscriptions","organizations_url":"https://api.github.com/users/ScIT-Raphael/orgs","repos_url":"https://api.github.com/users/ScIT-Raphael/repos","events_url":"https://api.github.com/users/ScIT-Raphael/events{/privacy}","received_events_url":"https://api.github.com/users/ScIT-Raphael/received_events","type":"User","user_view_type":"public","site_admin":false},{"login":"ioannidesalex","id":22378378,"node_id":"MDQ6VXNlcjIyMzc4Mzc4","avatar_url":"https://avatars.githubusercontent.com/u/22378378?v=4","gravatar_id":"","url":"https://api.github.com/users/ioannidesalex","html_url":"https://github.com/ioannidesalex","followers_url":"https://api.github.com/users/ioannidesalex/followers","following_url":"https://api.github.com/users/ioannidesalex/following{/other_user}","gists_url":"https://api.github.com/users/ioannidesalex/gists{/gist_id}","starred_url":"https://api.github.com/users/ioannidesalex/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ioannidesalex/subscriptions","organizations_url":"https://api.github.com/users/ioannidesalex/orgs","repos_url":"https://api.github.com/users/ioannidesalex/repos","events_url":"https://api.github.com/users/ioannidesalex/events{/privacy}","received_events_url":"https://api.github.com/users/ioannidesalex/received_events","type":"User","user_view_type":"public","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"draft":false,"commits_url":"https://api.github.com/repos/hestiacp/hestiacp/pulls/5196/commits","review_comments_url":"https://api.github.com/repos/hestiacp/hestiacp/pulls/5196/comments","review_comment_url":"https://api.github.com/repos/hestiacp/hestiacp/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hestiacp/hestiacp/issues/5196/comments","statuses_url":"https://api.github.com/repos/hestiacp/hestiacp/statuses/65dbb2398c077161361b0c7ffdf95fa01faa7d25","head":{"label":"divinity76:fix251223-1","ref":"fix251223-1","sha":"65dbb2398c077161361b0c7ffdf95fa01faa7d25","user":{"login":"divinity76","id":1874996,"node_id":"MDQ6VXNlcjE4NzQ5OTY=","avatar_url":"https://avatars.githubusercontent.com/u/1874996?v=4","gravatar_id":"","url":"https://api.github.com/users/divinity76","html_url":"https://github.com/divinity76","followers_url":"https://api.github.com/users/divinity76/followers","following_url":"https://api.github.com/users/divinity76/following{/other_user}","gists_url":"https://api.github.com/users/divinity76/gists{/gist_id}","starred_url":"https://api.github.com/users/divinity76/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/divinity76/subscriptions","organizations_url":"https://api.github.com/users/divinity76/orgs","repos_url":"https://api.github.com/users/divinity76/repos","events_url":"https://api.github.com/users/divinity76/events{/privacy}","received_events_url":"https://api.github.com/users/divinity76/received_events","type":"User","user_view_type":"public","site_admin":false},"repo":{"id":510171533,"node_id":"R_kgDOHmiZjQ","name":"hestiacp","full_name":"divinity76/hestiacp","private":false,"owner":{"login":"divinity76","id":1874996,"node_id":"MDQ6VXNlcjE4NzQ5OTY=","avatar_url":"https://avatars.githubusercontent.com/u/1874996?v=4","gravatar_id":"","url":"https://api.github.com/users/divinity76","html_url":"https://github.com/divinity76","followers_url":"https://api.github.com/users/divinity76/followers","following_url":"https://api.github.com/users/divinity76/following{/other_user}","gists_url":"https://api.github.com/users/divinity76/gists{/gist_id}","starred_url":"https://api.github.com/users/divinity76/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/divinity76/subscriptions","organizations_url":"https://api.github.com/users/divinity76/orgs","repos_url":"https://api.github.com/users/divinity76/repos","events_url":"https://api.github.com/users/divinity76/events{/privacy}","received_events_url":"https://api.github.com/users/divinity76/received_events","type":"User","user_view_type":"public","site_admin":false},"html_url":"https://github.com/divinity76/hestiacp","description":"Hestia Control Panel | A lightweight and powerful control panel for the modern web.","fork":true,"url":"https://api.github.com/repos/divinity76/hestiacp","forks_url":"https://api.github.com/repos/divinity76/hestiacp/forks","keys_url":"https://api.github.com/repos/divinity76/hestiacp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/divinity76/hestiacp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/divinity76/hestiacp/teams","hooks_url":"https://api.github.com/repos/divinity76/hestiacp/hooks","issue_events_url":"https://api.github.com/repos/divinity76/hestiacp/issues/events{/number}","events_url":"https://api.github.com/repos/divinity76/hestiacp/events","assignees_url":"https://api.github.com/repos/divinity76/hestiacp/assignees{/user}","branches_url":"https://api.github.com/repos/divinity76/hestiacp/branches{/branch}","tags_url":"https://api.github.com/repos/divinity76/hestiacp/tags","blobs_url":"https://api.github.com/repos/divinity76/hestiacp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/divinity76/hestiacp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/divinity76/hestiacp/git/refs{/sha}","trees_url":"https://api.github.com/repos/divinity76/hestiacp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/divinity76/hestiacp/statuses/{sha}","languages_url":"https://api.github.com/repos/divinity76/hestiacp/languages","stargazers_url":"https://api.github.com/repos/divinity76/hestiacp/stargazers","contributors_url":"https://api.github.com/repos/divinity76/hestiacp/contributors","subscribers_url":"https://api.github.com/repos/divinity76/hestiacp/subscribers","subscription_url":"https://api.github.com/repos/divinity76/hestiacp/subscription","commits_url":"https://api.github.com/repos/divinity76/hestiacp/commits{/sha}","git_commits_url":"https://api.github.com/repos/divinity76/hestiacp/git/commits{/sha}","comments_url":"https://api.github.com/repos/divinity76/hestiacp/comments{/number}","issue_comment_url":"https://api.github.com/repos/divinity76/hestiacp/issues/comments{/number}","contents_url":"https://api.github.com/repos/divinity76/hestiacp/contents/{+path}","compare_url":"https://api.github.com/repos/divinity76/hestiacp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/divinity76/hestiacp/merges","archive_url":"https://api.github.com/repos/divinity76/hestiacp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/divinity76/hestiacp/downloads","issues_url":"https://api.github.com/repos/divinity76/hestiacp/issues{/number}","pulls_url":"https://api.github.com/repos/divinity76/hestiacp/pulls{/number}","milestones_url":"https://api.github.com/repos/divinity76/hestiacp/milestones{/number}","notifications_url":"https://api.github.com/repos/divinity76/hestiacp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/divinity76/hestiacp/labels{/name}","releases_url":"https://api.github.com/repos/divinity76/hestiacp/releases{/id}","deployments_url":"https://api.github.com/repos/divinity76/hestiacp/deployments","created_at":"2022-07-04T01:05:04Z","updated_at":"2026-05-09T18:22:33Z","pushed_at":"2026-08-31T18:00:52Z","git_url":"git://github.com/divinity76/hestiacp.git","ssh_url":"git@github.com:divinity76/hestiacp.git","clone_url":"https://github.com/divinity76/hestiacp.git","svn_url":"https://github.com/divinity76/hestiacp","homepage":"https://www.hestiacp.com/","size":60486,"stargazers_count":1,"watchers_count":1,"language":"Shell","has_issues":false,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":0,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":0,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":[],"visibility":"public","forks":0,"open_issues":0,"watchers":1,"default_branch":"main"}},"base":{"label":"hestiacp:main","ref":"main","sha":"68f5e1a0c8e8406b8805c3a07a80d4873956bc4b","user":{"login":"hestiacp","id":44101440,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ0MTAxNDQw","avatar_url":"https://avatars.githubusercontent.com/u/44101440?v=4","gravatar_id":"","url":"https://api.github.com/users/hestiacp","html_url":"https://github.com/hestiacp","followers_url":"https://api.github.com/users/hestiacp/followers","following_url":"https://api.github.com/users/hestiacp/following{/other_user}","gists_url":"https://api.github.com/users/hestiacp/gists{/gist_id}","starred_url":"https://api.github.com/users/hestiacp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hestiacp/subscriptions","organizations_url":"https://api.github.com/users/hestiacp/orgs","repos_url":"https://api.github.com/users/hestiacp/repos","events_url":"https://api.github.com/users/hestiacp/events{/privacy}","received_events_url":"https://api.github.com/users/hestiacp/received_events","type":"Organization","user_view_type":"public","site_admin":false},"repo":{"id":156607803,"node_id":"MDEwOlJlcG9zaXRvcnkxNTY2MDc4MDM=","name":"hestiacp","full_name":"hestiacp/hestiacp","private":false,"owner":{"login":"hestiacp","id":44101440,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQ0MTAxNDQw","avatar_url":"https://avatars.githubusercontent.com/u/44101440?v=4","gravatar_id":"","url":"https://api.github.com/users/hestiacp","html_url":"https://github.com/hestiacp","followers_url":"https://api.github.com/users/hestiacp/followers","following_url":"https://api.github.com/users/hestiacp/following{/other_user}","gists_url":"https://api.github.com/users/hestiacp/gists{/gist_id}","starred_url":"https://api.github.com/users/hestiacp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hestiacp/subscriptions","organizations_url":"https://api.github.com/users/hestiacp/orgs","repos_url":"https://api.github.com/users/hestiacp/repos","events_url":"https://api.github.com/users/hestiacp/events{/privacy}","received_events_url":"https://api.github.com/users/hestiacp/received_events","type":"Organization","user_view_type":"public","site_admin":false},"html_url":"https://github.com/hestiacp/hestiacp","description":"Hestia Control Panel | A lightweight and powerful control panel for the modern web.","fork":false,"url":"https://api.github.com/repos/hestiacp/hestiacp","forks_url":"https://api.github.com/repos/hestiacp/hestiacp/forks","keys_url":"https://api.github.com/repos/hestiacp/hestiacp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hestiacp/hestiacp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hestiacp/hestiacp/teams","hooks_url":"https://api.github.com/repos/hestiacp/hestiacp/hooks","issue_events_url":"https://api.github.com/repos/hestiacp/hestiacp/issues/events{/number}","events_url":"https://api.github.com/repos/hestiacp/hestiacp/events","assignees_url":"https://api.github.com/repos/hestiacp/hestiacp/assignees{/user}","branches_url":"https://api.github.com/repos/hestiacp/hestiacp/branches{/branch}","tags_url":"https://api.github.com/repos/hestiacp/hestiacp/tags","blobs_url":"https://api.github.com/repos/hestiacp/hestiacp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hestiacp/hestiacp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hestiacp/hestiacp/git/refs{/sha}","trees_url":"https://api.github.com/repos/hestiacp/hestiacp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hestiacp/hestiacp/statuses/{sha}","languages_url":"https://api.github.com/repos/hestiacp/hestiacp/languages","stargazers_url":"https://api.github.com/repos/hestiacp/hestiacp/stargazers","contributors_url":"https://api.github.com/repos/hestiacp/hestiacp/contributors","subscribers_url":"https://api.github.com/repos/hestiacp/hestiacp/subscribers","subscription_url":"https://api.github.com/repos/hestiacp/hestiacp/subscription","commits_url":"https://api.github.com/repos/hestiacp/hestiacp/commits{/sha}","git_commits_url":"https://api.github.com/repos/hestiacp/hestiacp/git/commits{/sha}","comments_url":"https://api.github.com/repos/hestiacp/hestiacp/comments{/number}","issue_comment_url":"https://api.github.com/repos/hestiacp/hestiacp/issues/comments{/number}","contents_url":"https://api.github.com/repos/hestiacp/hestiacp/contents/{+path}","compare_url":"https://api.github.com/repos/hestiacp/hestiacp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hestiacp/hestiacp/merges","archive_url":"https://api.github.com/repos/hestiacp/hestiacp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hestiacp/hestiacp/downloads","issues_url":"https://api.github.com/repos/hestiacp/hestiacp/issues{/number}","pulls_url":"https://api.github.com/repos/hestiacp/hestiacp/pulls{/number}","milestones_url":"https://api.github.com/repos/hestiacp/hestiacp/milestones{/number}","notifications_url":"https://api.github.com/repos/hestiacp/hestiacp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hestiacp/hestiacp/labels{/name}","releases_url":"https://api.github.com/repos/hestiacp/hestiacp/releases{/id}","deployments_url":"https://api.github.com/repos/hestiacp/hestiacp/deployments","created_at":"2018-11-07T21:02:45Z","updated_at":"2026-10-11T19:01:16Z","pushed_at":"2026-10-11T19:01:10Z","git_url":"git://github.com/hestiacp/hestiacp.git","ssh_url":"git@github.com:hestiacp/hestiacp.git","clone_url":"https://github.com/hestiacp/hestiacp.git","svn_url":"https://github.com/hestiacp/hestiacp","homepage":"https://hestiacp.com","size":61851,"stargazers_count":4523,"watchers_count":4523,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"has_discussions":false,"forks_count":949,"mirror_url":null,"archived":false,"disabled":false,"open_issues_count":162,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"allow_forking":true,"is_template":false,"web_commit_signoff_required":false,"has_pull_requests":true,"pull_request_creation_policy":"all","topics":["apache2","control-panel","control-panels","dns-server","dovecot","exim","linux-server","mail-server","nginx","php","web-panel","web-server"],"visibility":"public","forks":949,"open_issues":162,"watchers":4523,"default_branch":"main"}},"_links":{"self":{"href":"https://api.github.com/repos/hestiacp/hestiacp/pulls/5196"},"html":{"href":"https://github.com/hestiacp/hestiacp/pull/5196"},"issue":{"href":"https://api.github.com/repos/hestiacp/hestiacp/issues/5196"},"comments":{"href":"https://api.github.com/repos/hestiacp/hestiacp/issues/5196/comments"},"review_comments":{"href":"https://api.github.com/repos/hestiacp/hestiacp/pulls/5196/comments"},"review_comment":{"href":"https://api.github.com/repos/hestiacp/hestiacp/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hestiacp/hestiacp/pulls/5196/commits"},"statuses":{"href":"https://api.github.com/repos/hestiacp/hestiacp/statuses/65dbb2398c077161361b0c7ffdf95fa01faa7d25"}},"author_association":"MEMBER","auto_merge":{"enabled_by":{"login":"divinity76","id":1874996,"node_id":"MDQ6VXNlcjE4NzQ5OTY=","avatar_url":"https://avatars.githubusercontent.com/u/1874996?v=4","gravatar_id":"","url":"https://api.github.com/users/divinity76","html_url":"https://github.com/divinity76","followers_url":"https://api.github.com/users/divinity76/followers","following_url":"https://api.github.com/users/divinity76/following{/other_user}","gists_url":"https://api.github.com/users/divinity76/gists{/gist_id}","starred_url":"https://api.github.com/users/divinity76/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/divinity76/subscriptions","organizations_url":"https://api.github.com/users/divinity76/orgs","repos_url":"https://api.github.com/users/divinity76/repos","events_url":"https://api.github.com/users/divinity76/events{/privacy}","received_events_url":"https://api.github.com/users/divinity76/received_events","type":"User","user_view_type":"public","site_admin":false},"merge_method":"squash","commit_title":"Harden DNS record listing escaping (#5196)","commit_message":""},"assignee":null,"active_lock_reason":null,"merged":true,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":{"login":"divinity76","id":1874996,"node_id":"MDQ6VXNlcjE4NzQ5OTY=","avatar_url":"https://avatars.githubusercontent.com/u/1874996?v=4","gravatar_id":"","url":"https://api.github.com/users/divinity76","html_url":"https://github.com/divinity76","followers_url":"https://api.github.com/users/divinity76/followers","following_url":"https://api.github.com/users/divinity76/following{/other_user}","gists_url":"https://api.github.com/users/divinity76/gists{/gist_id}","starred_url":"https://api.github.com/users/divinity76/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/divinity76/subscriptions","organizations_url":"https://api.github.com/users/divinity76/orgs","repos_url":"https://api.github.com/users/divinity76/repos","events_url":"https://api.github.com/users/divinity76/events{/privacy}","received_events_url":"https://api.github.com/users/divinity76/received_events","type":"User","user_view_type":"public","site_admin":false},"comments":2,"review_comments":3,"maintainer_can_modify":false,"commits":2,"additions":88,"deletions":78,"changed_files":1}