fix(backend): fix type error(s) in security fixes (#15009)
* Fix type error in security fixes (cherry picked from commit fa3cf6c2996741e642955c5e2fca8ad785e83205) * Fix error in test function calls (cherry picked from commit 1758f29364eca3cbd13dbb5c84909c93712b3b3b) * Fix style error (cherry picked from commit 23c4aa25714af145098baa7edd74c1d217e51c1a) * Fix another style error (cherry picked from commit 36af07abe28bec670aaebf9f5af5694bb582c29a) * Fix `.punyHost` misuse (cherry picked from commit 6027b516e1c82324d55d6e54d0e17cbd816feb42) * attempt to fix test: make yaml valid --------- Co-authored-by: Julia Johannesen <julia@insertdomain.name>
This commit is contained in:
		| @@ -54,19 +54,19 @@ class HttpRequestServiceAgent extends http.Agent { | ||||
| 				} | ||||
| 			}); | ||||
| 		return socket; | ||||
| 	}; | ||||
| 	} | ||||
|  | ||||
| 	@bindThis | ||||
| 	private isPrivateIp(ip: string): boolean { | ||||
| 		const parsedIp = ipaddr.parse(ip); | ||||
| 	 | ||||
|  | ||||
| 		for (const net of this.config.allowedPrivateNetworks ?? []) { | ||||
| 			const cidr = ipaddr.parseCIDR(net); | ||||
| 			if (cidr[0].kind() === parsedIp.kind() && parsedIp.match(ipaddr.parseCIDR(net))) { | ||||
| 				return false; | ||||
| 			} | ||||
| 		} | ||||
| 	 | ||||
|  | ||||
| 		return parsedIp.range() !== 'unicast'; | ||||
| 	} | ||||
| } | ||||
| @@ -93,19 +93,19 @@ class HttpsRequestServiceAgent extends https.Agent { | ||||
| 				} | ||||
| 			}); | ||||
| 		return socket; | ||||
| 	}; | ||||
| 	} | ||||
|  | ||||
| 	@bindThis | ||||
| 	private isPrivateIp(ip: string): boolean { | ||||
| 		const parsedIp = ipaddr.parse(ip); | ||||
| 	 | ||||
|  | ||||
| 		for (const net of this.config.allowedPrivateNetworks ?? []) { | ||||
| 			const cidr = ipaddr.parseCIDR(net); | ||||
| 			if (cidr[0].kind() === parsedIp.kind() && parsedIp.match(ipaddr.parseCIDR(net))) { | ||||
| 				return false; | ||||
| 			} | ||||
| 		} | ||||
| 	 | ||||
|  | ||||
| 		return parsedIp.range() !== 'unicast'; | ||||
| 	} | ||||
| } | ||||
|   | ||||
| @@ -54,7 +54,7 @@ export class RemoteUserResolveService { | ||||
| 			}) as MiLocalUser; | ||||
| 		} | ||||
|  | ||||
| 		host = this.utilityService.punyHost(host); | ||||
| 		host = this.utilityService.toPuny(host); | ||||
|  | ||||
| 		if (host === this.utilityService.toPuny(this.config.host)) { | ||||
| 			this.logger.info(`return local user: ${usernameLower}`); | ||||
|   | ||||
| @@ -163,13 +163,16 @@ export class ApPersonService implements OnModuleInit { | ||||
| 		} | ||||
|  | ||||
| 		for (const collection of ['outbox', 'followers', 'following'] as (keyof IActor)[]) { | ||||
| 			const collectionUri = getApId((x as IActor)[collection]); | ||||
| 			if (typeof collectionUri === 'string' && collectionUri.length > 0) { | ||||
| 				if (this.utilityService.punyHost(collectionUri) !== expectHost) { | ||||
| 					throw new Error(`invalid Actor: ${collection} has different host`); | ||||
| 			const xCollection = (x as IActor)[collection]; | ||||
| 			if (xCollection != null) { | ||||
| 				const collectionUri = getApId(xCollection); | ||||
| 				if (typeof collectionUri === 'string' && collectionUri.length > 0) { | ||||
| 					if (this.utilityService.punyHost(collectionUri) !== expectHost) { | ||||
| 						throw new Error(`invalid Actor: ${collection} has different host`); | ||||
| 					} | ||||
| 				} else if (collectionUri != null) { | ||||
| 					throw new Error(`invalid Actor: wrong ${collection}`); | ||||
| 				} | ||||
| 			} else if (collectionUri != null) { | ||||
| 				throw new Error(`invalid Actor: wrong ${collection}`); | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 かっこかり
					かっこかり