|  | @@ -16,6 +16,7 @@ import (
 | 
	
		
			
				|  |  |  	"github.com/Unknwon/goconfig"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	"github.com/gogits/cache"
 | 
	
		
			
				|  |  | +	"github.com/gogits/session"
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	"github.com/gogits/gogs/modules/log"
 | 
	
		
			
				|  |  |  )
 | 
	
	
		
			
				|  | @@ -49,6 +50,10 @@ var (
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	LogMode   string
 | 
	
		
			
				|  |  |  	LogConfig string
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	SessionProvider string
 | 
	
		
			
				|  |  | +	SessionConfig   *session.Config
 | 
	
		
			
				|  |  | +	SessionManager  *session.Manager
 | 
	
		
			
				|  |  |  )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  var Service struct {
 | 
	
	
		
			
				|  | @@ -164,6 +169,30 @@ func newCacheService() {
 | 
	
		
			
				|  |  |  	log.Info("Cache Service Enabled")
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +func newSessionService() {
 | 
	
		
			
				|  |  | +	SessionProvider = Cfg.MustValue("session", "PROVIDER", "memory")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	SessionConfig = new(session.Config)
 | 
	
		
			
				|  |  | +	SessionConfig.ProviderConfig = Cfg.MustValue("session", "PROVIDER_CONFIG")
 | 
	
		
			
				|  |  | +	SessionConfig.CookieName = Cfg.MustValue("session", "COOKIE_NAME", "i_like_gogits")
 | 
	
		
			
				|  |  | +	SessionConfig.CookieSecure = Cfg.MustBool("session", "COOKIE_SECURE")
 | 
	
		
			
				|  |  | +	SessionConfig.EnableSetCookie = Cfg.MustBool("session", "ENABLE_SET_COOKIE", true)
 | 
	
		
			
				|  |  | +	SessionConfig.GcIntervalTime = Cfg.MustInt64("session", "GC_INTERVAL_TIME", 86400)
 | 
	
		
			
				|  |  | +	SessionConfig.SessionLifeTime = Cfg.MustInt64("session", "SESSION_LIFE_TIME", 86400)
 | 
	
		
			
				|  |  | +	SessionConfig.SessionIDHashFunc = Cfg.MustValue("session", "SESSION_ID_HASHFUNC", "sha1")
 | 
	
		
			
				|  |  | +	SessionConfig.SessionIDHashKey = Cfg.MustValue("session", "SESSION_ID_HASHKEY")
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	var err error
 | 
	
		
			
				|  |  | +	SessionManager, err = session.NewManager(SessionProvider, *SessionConfig)
 | 
	
		
			
				|  |  | +	if err != nil {
 | 
	
		
			
				|  |  | +		fmt.Printf("Init session system failed, provider: %s, %v\n",
 | 
	
		
			
				|  |  | +			SessionProvider, err)
 | 
	
		
			
				|  |  | +		os.Exit(2)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	log.Info("Session Service Enabled")
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  func newMailService() {
 | 
	
		
			
				|  |  |  	// Check mailer setting.
 | 
	
		
			
				|  |  |  	if Cfg.MustBool("mailer", "ENABLED") {
 | 
	
	
		
			
				|  | @@ -234,6 +263,7 @@ func NewServices() {
 | 
	
		
			
				|  |  |  	newService()
 | 
	
		
			
				|  |  |  	newLogService()
 | 
	
		
			
				|  |  |  	newCacheService()
 | 
	
		
			
				|  |  | +	newSessionService()
 | 
	
		
			
				|  |  |  	newMailService()
 | 
	
		
			
				|  |  |  	newRegisterMailService()
 | 
	
		
			
				|  |  |  }
 |