parent
							
								
									2c4fb6e646
								
							
						
					
					
						commit
						182003aa41
					
				@ -0,0 +1,35 @@ | 
				
			||||
// +build !windows
 | 
				
			||||
 | 
				
			||||
// Copyright 2014 The Gogs Authors. All rights reserved.
 | 
				
			||||
// Use of this source code is governed by a MIT-style
 | 
				
			||||
// license that can be found in the LICENSE file.
 | 
				
			||||
 | 
				
			||||
package pam | 
				
			||||
 | 
				
			||||
import ( | 
				
			||||
	"errors" | 
				
			||||
 | 
				
			||||
	"github.com/msteinert/pam" | 
				
			||||
) | 
				
			||||
 | 
				
			||||
func PAMAuth(serviceName, userName, passwd string) error { | 
				
			||||
	t, err := pam.StartFunc(serviceName, userName, func(s pam.Style, msg string) (string, error) { | 
				
			||||
		switch s { | 
				
			||||
		case pam.PromptEchoOff: | 
				
			||||
			return passwd, nil | 
				
			||||
		case pam.PromptEchoOn, pam.ErrorMsg, pam.TextInfo: | 
				
			||||
			return "", nil | 
				
			||||
		} | 
				
			||||
		return "", errors.New("Unrecognized PAM message style") | 
				
			||||
	}) | 
				
			||||
 | 
				
			||||
	if err != nil { | 
				
			||||
		return err | 
				
			||||
	} | 
				
			||||
 | 
				
			||||
	if err = t.Authenticate(0); err != nil { | 
				
			||||
		return err | 
				
			||||
	} | 
				
			||||
 | 
				
			||||
	return nil | 
				
			||||
} | 
				
			||||
@ -0,0 +1,15 @@ | 
				
			||||
// +build windows
 | 
				
			||||
 | 
				
			||||
// Copyright 2014 The Gogs Authors. All rights reserved.
 | 
				
			||||
// Use of this source code is governed by a MIT-style
 | 
				
			||||
// license that can be found in the LICENSE file.
 | 
				
			||||
 | 
				
			||||
package pam | 
				
			||||
 | 
				
			||||
import ( | 
				
			||||
	"errors" | 
				
			||||
) | 
				
			||||
 | 
				
			||||
func PAMAuth(serviceName, userName, passwd string) error { | 
				
			||||
	return errors.New("PAM not supported") | 
				
			||||
} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue