mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 16:40:24 +08:00 
			
		
		
		
	Disable debug routes unless PPROF is enabled in configuration (#4995)
This commit is contained in:
		
				
					committed by
					
						
						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
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								vendor/github.com/go-macaron/toolbox/toolbox.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								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 {
 | 
				
			||||||
	m.Any(path.Join(opt.PprofURLPrefix, "cmdline"), pprof.Cmdline)
 | 
							// Pprof
 | 
				
			||||||
	m.Any(path.Join(opt.PprofURLPrefix, "profile"), pprof.Profile)
 | 
							m.Any(path.Join(opt.PprofURLPrefix, "cmdline"), pprof.Cmdline)
 | 
				
			||||||
	m.Any(path.Join(opt.PprofURLPrefix, "symbol"), pprof.Symbol)
 | 
							m.Any(path.Join(opt.PprofURLPrefix, "profile"), pprof.Profile)
 | 
				
			||||||
	m.Any(opt.PprofURLPrefix, pprof.Index)
 | 
							m.Any(path.Join(opt.PprofURLPrefix, "symbol"), pprof.Symbol)
 | 
				
			||||||
	m.Any(path.Join(opt.PprofURLPrefix, "*"), pprof.Index)
 | 
							m.Any(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