34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| set -e
 | |
| 
 | |
| VERSION=$( go version )
 | |
| 
 | |
| # For development versions of Go, these will be empty.
 | |
| MAJOR_GOVERSION=$( echo -n "$VERSION" | grep -o 'go1\.[0-9]' || true )
 | |
| FULL_GOVERSION=$( echo -n "$VERSION" | grep -o 'go1\.[0-9|\.]*' || true )
 | |
| 
 | |
| # The list of unsupported major go versions.
 | |
| UNSUPPORTED=( "go1.0" "go1.1" "go1.2" "go1.3" "go1.4" "go1.5" "go1.6" )
 | |
| 
 | |
| # Minor go verisons which have known security vulnerabilities. Refuse to build with these.
 | |
| #
 | |
| # There aren't any security issues that impact dex in 1.7 but minor versions should be
 | |
| # added here later if they do have issues. 
 | |
| KNOWN_INSECURE=( )
 | |
| 
 | |
| for V in "${UNSUPPORTED[@]}"; do
 | |
|     if [ "$V" = "$MAJOR_GOVERSION" ]; then
 | |
|         >&2 echo "ERROR: dex requires Go version 1.7+. Please update your Go installation: https://golang.org/dl/" 
 | |
|         exit 2
 | |
|     fi
 | |
| done
 | |
| 
 | |
| for V in "${KNOWN_INSECURE[@]}"; do
 | |
|     if [ "$V" = "$FULL_GOVERSION" ]; then
 | |
|         >&2 echo "Go version ${V} has known security vulnerabilities which impact dex. Please update your Go verison."
 | |
|         exit 2
 | |
|     fi
 | |
| done
 | |
| 
 |