mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 21:28:11 +09:00 
			
		
		
		
	Disable debug routes unless PPROF is enabled in configuration (#4995)
This commit is contained in:
		
				
					committed by
					
						 techknowlogick
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							fc0001caa1
						
					
				
				
					commit
					ab5b245182
				
			
							
								
								
									
										4
									
								
								Gopkg.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								Gopkg.lock
									
									
									
										generated
									
									
									
								
							| @@ -352,11 +352,11 @@ | |||||||
|   revision = "66031fcb37a0fff002a1f028eb0b3a815c78306b" |   revision = "66031fcb37a0fff002a1f028eb0b3a815c78306b" | ||||||
|  |  | ||||||
| [[projects]] | [[projects]] | ||||||
|   digest = "1:6fb9cae2a3b4518e048a899b273e23b671802b611ccfcca0b576ecc08bb7b8f5" |   digest = "1:758d2371fcdee6d02565901b348729053c636055e67ef6e17aa466c7ff6cc57c" | ||||||
|   name = "github.com/go-macaron/toolbox" |   name = "github.com/go-macaron/toolbox" | ||||||
|   packages = ["."] |   packages = ["."] | ||||||
|   pruneopts = "NUT" |   pruneopts = "NUT" | ||||||
|   revision = "99a42f20e9e88daec5c0d7beb4e7eac134680ab0" |   revision = "a77f45a7ce909c0ff14b28279fa1a2b674acb70f" | ||||||
|  |  | ||||||
| [[projects]] | [[projects]] | ||||||
|   digest = "1:747c1fcb10f8f6734551465ab73c6ed9c551aa6e66250fb6683d1624f554546a" |   digest = "1:747c1fcb10f8f6734551465ab73c6ed9c551aa6e66250fb6683d1624f554546a" | ||||||
|   | |||||||
| @@ -131,6 +131,7 @@ func NewMacaron() *macaron.Macaron { | |||||||
| 				Func: models.Ping, | 				Func: models.Ping, | ||||||
| 			}, | 			}, | ||||||
| 		}, | 		}, | ||||||
|  | 		DisableDebug: !setting.EnablePprof, | ||||||
| 	})) | 	})) | ||||||
| 	m.Use(context.Contexter()) | 	m.Use(context.Contexter()) | ||||||
| 	return m | 	return m | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								vendor/github.com/go-macaron/toolbox/toolbox.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								vendor/github.com/go-macaron/toolbox/toolbox.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -26,7 +26,7 @@ import ( | |||||||
| 	"gopkg.in/macaron.v1" | 	"gopkg.in/macaron.v1" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| const _VERSION = "0.1.2" | const _VERSION = "0.1.4" | ||||||
|  |  | ||||||
| func Version() string { | func Version() string { | ||||||
| 	return _VERSION | 	return _VERSION | ||||||
| @@ -58,6 +58,8 @@ type Options struct { | |||||||
| 	HealthCheckFuncs []*HealthCheckFuncDesc | 	HealthCheckFuncs []*HealthCheckFuncDesc | ||||||
| 	// URL for URL map json. Default is "/urlmap.json". | 	// URL for URL map json. Default is "/urlmap.json". | ||||||
| 	URLMapPrefix string | 	URLMapPrefix string | ||||||
|  | 	// DisableDebug turns off all debug functionality. | ||||||
|  | 	DisableDebug bool | ||||||
| 	// URL prefix of pprof. Default is "/debug/pprof/". | 	// URL prefix of pprof. Default is "/debug/pprof/". | ||||||
| 	PprofURLPrefix string | 	PprofURLPrefix string | ||||||
| 	// URL prefix of profile. Default is "/debug/profile/". | 	// URL prefix of profile. Default is "/debug/profile/". | ||||||
| @@ -98,7 +100,7 @@ func prepareOptions(options []Options) { | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
| func dashboard(ctx *macaron.Context) string { | func dashboard() string { | ||||||
| 	return fmt.Sprintf(`<p>Toolbox Index:</p> | 	return fmt.Sprintf(`<p>Toolbox Index:</p> | ||||||
| 	<ol> | 	<ol> | ||||||
| 	    <li><a href="%s">Pprof Information</a></li> | 	    <li><a href="%s">Pprof Information</a></li> | ||||||
| @@ -125,23 +127,25 @@ func Toolboxer(m *macaron.Macaron, options ...Options) macaron.Handler { | |||||||
| 	for _, fd := range opt.HealthCheckFuncs { | 	for _, fd := range opt.HealthCheckFuncs { | ||||||
| 		t.AddHealthCheckFunc(fd.Desc, fd.Func) | 		t.AddHealthCheckFunc(fd.Desc, fd.Func) | ||||||
| 	} | 	} | ||||||
| 	m.Get(opt.HealthCheckURL, t.handleHealthCheck) | 	m.Route(opt.HealthCheckURL, "HEAD,GET", t.handleHealthCheck) | ||||||
|  |  | ||||||
| 	// URL map. | 	// URL map. | ||||||
| 	m.Get(opt.URLMapPrefix, func(rw http.ResponseWriter) { | 	m.Get(opt.URLMapPrefix, func(rw http.ResponseWriter) { | ||||||
| 		t.JSON(rw) | 		t.JSON(rw) | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
| 	// Pprof. | 	if !opt.DisableDebug { | ||||||
|  | 		// Pprof | ||||||
| 		m.Any(path.Join(opt.PprofURLPrefix, "cmdline"), pprof.Cmdline) | 		m.Any(path.Join(opt.PprofURLPrefix, "cmdline"), pprof.Cmdline) | ||||||
| 		m.Any(path.Join(opt.PprofURLPrefix, "profile"), pprof.Profile) | 		m.Any(path.Join(opt.PprofURLPrefix, "profile"), pprof.Profile) | ||||||
| 		m.Any(path.Join(opt.PprofURLPrefix, "symbol"), pprof.Symbol) | 		m.Any(path.Join(opt.PprofURLPrefix, "symbol"), pprof.Symbol) | ||||||
| 		m.Any(opt.PprofURLPrefix, pprof.Index) | 		m.Any(opt.PprofURLPrefix, pprof.Index) | ||||||
| 		m.Any(path.Join(opt.PprofURLPrefix, "*"), pprof.Index) | 		m.Any(path.Join(opt.PprofURLPrefix, "*"), pprof.Index) | ||||||
|  |  | ||||||
| 	// Profile. | 		// Profile | ||||||
| 		profilePath = opt.ProfilePath | 		profilePath = opt.ProfilePath | ||||||
| 		m.Get(opt.ProfileURLPrefix, handleProfile) | 		m.Get(opt.ProfileURLPrefix, handleProfile) | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	// Routes statistic. | 	// Routes statistic. | ||||||
| 	t.UrlMap = &UrlMap{ | 	t.UrlMap = &UrlMap{ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user