2424
2525namespace OCA \Talk \Controller ;
2626
27- use OC \Security \TrustedDomainHelper ;
2827use OCA \Talk \Chat \AutoComplete \SearchPlugin ;
2928use OCA \Talk \Chat \AutoComplete \Sorter ;
3029use OCA \Talk \Chat \ChatManager ;
5352use OCP \IUserManager ;
5453use OCP \RichObjectStrings \InvalidObjectExeption ;
5554use OCP \RichObjectStrings \IValidator ;
55+ use OCP \Security \ITrustedDomainHelper ;
5656use OCP \User \Events \UserLiveStatusEvent ;
5757use OCP \UserStatus \IManager as IUserStatusManager ;
5858use OCP \UserStatus \IUserStatus ;
@@ -110,7 +110,7 @@ class ChatController extends AEnvironmentAwareController {
110110 /** @var IValidator */
111111 protected $ richObjectValidator ;
112112
113- /** @var TrustedDomainHelper */
113+ /** @var ITrustedDomainHelper */
114114 protected $ trustedDomainHelper ;
115115
116116 /** @var IL10N */
@@ -134,7 +134,7 @@ public function __construct(string $appName,
134134 ITimeFactory $ timeFactory ,
135135 IEventDispatcher $ eventDispatcher ,
136136 IValidator $ richObjectValidator ,
137- TrustedDomainHelper $ trustedDomainHelper ,
137+ ITrustedDomainHelper $ trustedDomainHelper ,
138138 IL10N $ l ) {
139139 parent ::__construct ($ appName , $ request );
140140
@@ -291,14 +291,8 @@ public function shareObjectToChat(string $objectType, string $objectId, string $
291291 $ data ['type ' ] = $ objectType ;
292292 $ data ['id ' ] = $ objectId ;
293293
294- if (isset ($ data ['link ' ])) {
295- $ parsedUrl = parse_url ($ data ['link ' ]);
296- $ domain = $ parsedUrl ['host ' ] ?? '' ;
297- $ domain .= isset ($ parsedUrl ['port ' ]) && $ parsedUrl ['port ' ] ? (': ' . $ parsedUrl ['port ' ]) : '' ;
298-
299- if (!$ this ->trustedDomainHelper ->isTrustedDomain ($ domain )) {
300- return new DataResponse ([], Http::STATUS_BAD_REQUEST );
301- }
294+ if (isset ($ data ['link ' ]) && !$ this ->trustedDomainHelper ->isTrustedUrl ($ data ['link ' ])) {
295+ return new DataResponse ([], Http::STATUS_BAD_REQUEST );
302296 }
303297
304298 try {
0 commit comments