File tree 2 files changed +20
-3
lines changed 2 files changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -249,6 +249,19 @@ func Contexter() macaron.Handler {
249
249
if ctx .Query ("go-get" ) == "1" {
250
250
ownerName := c .Params (":username" )
251
251
repoName := c .Params (":reponame" )
252
+ trimmedRepoName := strings .TrimSuffix (repoName , ".git" )
253
+
254
+ if ownerName == "" || trimmedRepoName == "" {
255
+ _ , _ = c .Write ([]byte (`<!doctype html>
256
+ <html>
257
+ <body>
258
+ invalid import path
259
+ </body>
260
+ </html>
261
+ ` ))
262
+ c .WriteHeader (400 )
263
+ return
264
+ }
252
265
branchName := "master"
253
266
254
267
repo , err := models .GetRepositoryByOwnerAndName (ownerName , repoName )
@@ -276,7 +289,7 @@ func Contexter() macaron.Handler {
276
289
</body>
277
290
</html>
278
291
` , map [string ]string {
279
- "GoGetImport" : ComposeGoGetImport (ownerName , strings . TrimSuffix ( repoName , ".git" ) ),
292
+ "GoGetImport" : ComposeGoGetImport (ownerName , trimmedRepoName ),
280
293
"CloneLink" : models .ComposeHTTPSCloneURL (ownerName , repoName ),
281
294
"GoDocDirectory" : prefix + "{/dir}" ,
282
295
"GoDocFile" : prefix + "{/dir}/{file}#L{line}" ,
Original file line number Diff line number Diff line change @@ -201,10 +201,14 @@ func ComposeGoGetImport(owner, repo string) string {
201
201
// .netrc file.
202
202
func EarlyResponseForGoGetMeta (ctx * Context ) {
203
203
username := ctx .Params (":username" )
204
- reponame := ctx .Params (":reponame" )
204
+ reponame := strings .TrimSuffix (ctx .Params (":reponame" ), ".git" )
205
+ if username == "" || reponame == "" {
206
+ ctx .PlainText (400 , []byte ("invalid repository path" ))
207
+ return
208
+ }
205
209
ctx .PlainText (200 , []byte (com .Expand (`<meta name="go-import" content="{GoGetImport} git {CloneLink}">` ,
206
210
map [string ]string {
207
- "GoGetImport" : ComposeGoGetImport (username , strings . TrimSuffix ( reponame , ".git" ) ),
211
+ "GoGetImport" : ComposeGoGetImport (username , reponame ),
208
212
"CloneLink" : models .ComposeHTTPSCloneURL (username , reponame ),
209
213
})))
210
214
}
You can’t perform that action at this time.
0 commit comments