Fix failed profile verification when rel attribute including values other than me (#8733)
This commit is contained in:
		
				
					committed by
					
						 Eugen Rochko
						Eugen Rochko
					
				
			
			
				
	
			
			
			
						parent
						
							d149c2dc78
						
					
				
				
					commit
					3da1cc7d5e
				
			| @ -27,6 +27,6 @@ class VerifyLinkService < BaseService | ||||
|   def link_back_present? | ||||
|     return false if @body.empty? | ||||
|  | ||||
|     Nokogiri::HTML(@body).xpath('//a[@rel="me"]|//link[@rel="me"]').any? { |link| link['href'] == @link_back } | ||||
|     Nokogiri::HTML(@body).xpath('//a[contains(concat(" ", normalize-space(@rel), " "), " me ")]|//link[contains(concat(" ", normalize-space(@rel), " "), " me ")]').any? { |link| link['href'] == @link_back } | ||||
|   end | ||||
| end | ||||
|  | ||||
| @ -26,6 +26,21 @@ RSpec.describe VerifyLinkService, type: :service do | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   context 'when a link contains an <a rel="noopener"> back' do | ||||
|     let(:html) do | ||||
|       <<-HTML | ||||
|         <!doctype html> | ||||
|         <body> | ||||
|           <a href="#{ActivityPub::TagManager.instance.url_for(account)}" rel="noopener me" target="_blank">Follow me on Mastodon</a> | ||||
|         </body> | ||||
|       HTML | ||||
|     end | ||||
|  | ||||
|     it 'marks the field as verified' do | ||||
|       expect(field.verified?).to be true | ||||
|     end | ||||
|   end | ||||
|  | ||||
|   context 'when a link contains a <link> back' do | ||||
|     let(:html) do | ||||
|       <<-HTML | ||||
|  | ||||
		Reference in New Issue
	
	Block a user