You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: conn_str_go115.go
    path of file: ./repos/scan4all/vendor/github.com/denisenkom/go-mssqldb/msdsn
    
    the code of the file until where you have to start completion: //go:build go1.15
// +build go1.15

package msdsn

import (
	"crypto/tls"
	"crypto/x509"
	"fmt"
)

func setupTLSCommonName(config *tls.Config, pem []byte) error {
	// fix for https://github.com/denisenkom/go-mssqldb/issues/704
	// A SSL/TLS certificate Common Name (CN) containing the ":" character
	// (which is a non-standard character) will cause normal verification to fail.
	// Since the VerifyConnection callback runs after normal certificate
	// verification, confirm that SetupTLS() has been called
	// with "insecureSkipVerify=false", then InsecureSkipVerify must be set to true
	// for this VerifyConnection callback to accomplish certificate verification.
	config.InsecureSkipVerify = true
	config.VerifyConnection = func(cs tls.ConnectionState) error {
		commonName := cs.PeerCertificates[0].Subject.CommonName
		if commonName != cs.ServerName {
			return fmt.Errorf("inval
    
func setupTLSCommonName(config *tls.Config, pem []byte) error {
	// fix for https://github.com/denisenkom/go-mssqldb/issues/704
	// A SSL/TLS certificate Common Name (CN) containing the ":" character
	// (which is a non-standard character) will cause normal verification to fail.
	// Since the VerifyConnection callback runs after normal certificate
	// verification, confirm that SetupTLS() has been called
	// with "insecureSkipVerify=false", then InsecureSkipVerify must be set to true
	// for this VerifyConnection callback to accomplish certificate verification.
	config.InsecureSkipVerify = true
	config.VerifyConnection = func(cs tls.ConnectionState) error {
		commonName := cs.PeerCertificates[0].Subject.CommonName
		if commonName != cs.ServerName {
			return fmt.Errorf("invalid certificate name %q, expected %q", commonName, cs.ServerName)
		}
		opts := x509.VerifyOptions{
			Roots:         nil,
			Intermediates: x509.NewCertPool(),
		}
		opts.Intermediates.AppendCertsFromPEM(pem)
		_, err := cs.PeerCertificates[0].Verify(opts)
		return err
	}
	return nil
}