コード例 #1
0
ファイル: gitreceived.go プロジェクト: ericcapricorn/flynn
func checkAuth(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permissions, error) {
	status, err := exitStatus(exec.Command(authChecker[0],
		append(authChecker[1:], conn.User(), string(bytes.TrimSpace(ssh.MarshalAuthorizedKey(key))))...).Run())
	if err != nil {
		return nil, err
	}
	if status.Status == 0 {
		return nil, nil
	}
	return nil, ErrUnauthorized
}
コード例 #2
0
ファイル: gitreceived.go プロジェクト: technosophos/flynn
func checkAuth(conn ssh.ConnMetadata, key ssh.PublicKey) (*ssh.Permissions, error) {
	cmd := exec.Command(*authChecker,
		conn.User(),
		string(bytes.TrimSpace(ssh.MarshalAuthorizedKey(key))),
	)
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	status, err := exitStatus(cmd.Run())
	if err != nil {
		return nil, err
	}
	if status.Status == 0 {
		return nil, nil
	}
	return nil, ErrUnauthorized
}