@@ -15,6 +15,7 @@ import { Logger } from '../log';
1515import { CloneWorker , DeleteWorker , IndexWorker } from '../queue' ;
1616import { RepositoryConfigController } from '../repository_config_controller' ;
1717import { RepositoryObjectClient } from '../search' ;
18+ import { ServerOptions } from '../server_options' ;
1819import { EsClientWithRequest } from '../utils/esclient_with_request' ;
1920
2021export function repositoryRoute (
@@ -23,7 +24,8 @@ export function repositoryRoute(
2324 deleteWorker : DeleteWorker ,
2425 indexWorker : IndexWorker ,
2526 repoIndexInitializerFactory : RepositoryIndexInitializerFactory ,
26- repoConfigController : RepositoryConfigController
27+ repoConfigController : RepositoryConfigController ,
28+ options : ServerOptions
2729) {
2830 // Clone a git repository
2931 server . securedRoute ( {
@@ -35,7 +37,13 @@ export function repositoryRoute(
3537 const log = new Logger ( req . server ) ;
3638
3739 // Reject the request if the url is an invalid git url.
38- if ( ! isValidGitUrl ( repoUrl ) ) {
40+ if (
41+ ! isValidGitUrl (
42+ repoUrl ,
43+ options . security . gitHostWhitelist ,
44+ options . security . gitProtocolWhitelist
45+ )
46+ ) {
3947 return Boom . badRequest ( 'Invalid git url.' ) ;
4048 }
4149
0 commit comments