Scrape the public key from the hcard if not present in webfinger
This commit is contained in:
		
					parent
					
						
							
								9d83892151
							
						
					
				
			
			
				commit
				
					
						3476e21b28
					
				
			
		
					 1 changed files with 14 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -529,9 +529,9 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
 | 
			
		|||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		if(strlen($dfrn)) {
 | 
			
		||||
			$ret = scrape_dfrn(($hcard) ? $hcard : $dfrn, true);
 | 
			
		||||
 | 
			
		||||
			if(is_array($ret) && x($ret,'dfrn-request')) {
 | 
			
		||||
				$network = NETWORK_DFRN;
 | 
			
		||||
				$request = $ret['dfrn-request'];
 | 
			
		||||
| 
						 | 
				
			
			@ -547,6 +547,19 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Scrape the public key from the hcard.
 | 
			
		||||
	// Diaspora will remove it from the webfinger somewhere in the future.
 | 
			
		||||
	if (($hcard != "") AND ($pubkey == "")) {
 | 
			
		||||
		$ret = scrape_dfrn(($hcard) ? $hcard : $dfrn, true);
 | 
			
		||||
		if (isset($ret["key"])) {
 | 
			
		||||
			$hcard_key = $ret["key"];
 | 
			
		||||
			if(strstr($hcard_key,'RSA '))
 | 
			
		||||
				$pubkey = rsatopem($hcard_key);
 | 
			
		||||
			else
 | 
			
		||||
				$pubkey = $hcard_key;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if($diaspora && $diaspora_base && $diaspora_guid) {
 | 
			
		||||
		if($mode == PROBE_DIASPORA || ! $notify) {
 | 
			
		||||
			$notify = $diaspora_base . 'receive/users/' . $diaspora_guid;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue