34 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.1 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" "go1.7" )
 | 
						|
 | 
						|
# Minor go versions which have known security vulnerabilities. Refuse to build with these.
 | 
						|
#
 | 
						|
# There aren't any security issues that impact dex in current Go versions 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.8+. 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 version."
 | 
						|
        exit 2
 | 
						|
    fi
 | 
						|
done
 | 
						|
 |