Merge pull request #1213 from mholt/simplify_code

Remove dead code, do struct alignment, simplify code
This commit is contained in:
Matt Holt 2016-10-26 00:05:08 -06:00 committed by GitHub
commit f2e999aab2
13 changed files with 34 additions and 99 deletions

View file

@ -64,7 +64,7 @@ func TestDispenser_NextArg(t *testing.T) {
} }
assertNextArg := func(expectedVal string, loadAnother bool, expectedCursor int) { assertNextArg := func(expectedVal string, loadAnother bool, expectedCursor int) {
if d.NextArg() != true { if !d.NextArg() {
t.Error("NextArg(): Should load next argument but got false instead") t.Error("NextArg(): Should load next argument but got false instead")
} }
if d.cursor != expectedCursor { if d.cursor != expectedCursor {
@ -74,7 +74,7 @@ func TestDispenser_NextArg(t *testing.T) {
t.Errorf("Val(): Expected '%s' but got '%s'", expectedVal, val) t.Errorf("Val(): Expected '%s' but got '%s'", expectedVal, val)
} }
if !loadAnother { if !loadAnother {
if d.NextArg() != false { if d.NextArg() {
t.Fatalf("NextArg(): Should NOT load another argument, but got true instead (val: '%s')", d.Val()) t.Fatalf("NextArg(): Should NOT load another argument, but got true instead (val: '%s')", d.Val())
} }
if d.cursor != expectedCursor { if d.cursor != expectedCursor {

View file

@ -16,8 +16,7 @@ import (
// pass in nil instead. // pass in nil instead.
func Parse(filename string, input io.Reader, validDirectives []string) ([]ServerBlock, error) { func Parse(filename string, input io.Reader, validDirectives []string) ([]ServerBlock, error) {
p := parser{Dispenser: NewDispenser(filename, input), validDirectives: validDirectives} p := parser{Dispenser: NewDispenser(filename, input), validDirectives: validDirectives}
blocks, err := p.parseAll() return p.parseAll()
return blocks, err
} }
// allTokens lexes the entire input, but does not parse it. // allTokens lexes the entire input, but does not parse it.
@ -62,12 +61,7 @@ func (p *parser) parseAll() ([]ServerBlock, error) {
func (p *parser) parseOne() error { func (p *parser) parseOne() error {
p.block = ServerBlock{Tokens: make(map[string][]Token)} p.block = ServerBlock{Tokens: make(map[string][]Token)}
err := p.begin() return p.begin()
if err != nil {
return err
}
return nil
} }
func (p *parser) begin() error { func (p *parser) begin() error {
@ -76,6 +70,7 @@ func (p *parser) begin() error {
} }
err := p.addresses() err := p.addresses()
if err != nil { if err != nil {
return err return err
} }
@ -86,12 +81,7 @@ func (p *parser) begin() error {
return nil return nil
} }
err = p.blockContents() return p.blockContents()
if err != nil {
return err
}
return nil
} }
func (p *parser) addresses() error { func (p *parser) addresses() error {

View file

@ -101,12 +101,12 @@ func (l Listing) BreadcrumbMap() map[string]string {
// FileInfo is the info about a particular file or directory // FileInfo is the info about a particular file or directory
type FileInfo struct { type FileInfo struct {
IsDir bool
Name string Name string
Size int64 Size int64
URL string URL string
ModTime time.Time ModTime time.Time
Mode os.FileMode Mode os.FileMode
IsDir bool
} }
// HumanSize returns the size of the file as a human-readable string // HumanSize returns the size of the file as a human-readable string

View file

@ -44,7 +44,6 @@ const FCGINullRequestID uint8 = 0
// FCGIKeepConn describes keep connection mode. // FCGIKeepConn describes keep connection mode.
const FCGIKeepConn uint8 = 1 const FCGIKeepConn uint8 = 1
const doubleCRLF = "\r\n\r\n"
const ( const (
// BeginRequest is the begin request flag. // BeginRequest is the begin request flag.
@ -261,29 +260,6 @@ func (c *FCGIClient) writePairs(recType uint8, pairs map[string]string) error {
return nil return nil
} }
func readSize(s []byte) (uint32, int) {
if len(s) == 0 {
return 0, 0
}
size, n := uint32(s[0]), 1
if size&(1<<7) != 0 {
if len(s) < 4 {
return 0, 0
}
n = 4
size = binary.BigEndian.Uint32(s)
size &^= 1 << 31
}
return size, n
}
func readString(s []byte, size uint32) string {
if size > uint32(len(s)) {
return ""
}
return string(s[:size])
}
func encodeSize(b []byte, size uint32) int { func encodeSize(b []byte, size uint32) int {
if size > 127 { if size > 127 {
size |= 1 << 31 size |= 1 << 31

View file

@ -155,7 +155,7 @@ func sendFcgi(reqType int, fcgiParams map[string]string, data []byte, posts map[
fcgi.Close() fcgi.Close()
time.Sleep(1 * time.Second) time.Sleep(1 * time.Second)
if bytes.Index(content, []byte("FAILED")) >= 0 { if bytes.Contains(content, []byte("FAILED")) {
globalt.Error("Server return failed message") globalt.Error("Server return failed message")
} }

View file

@ -144,7 +144,7 @@ func (md Markdown) ServeHTTP(w http.ResponseWriter, r *http.Request) (int, error
} }
w.Header().Set("Content-Type", "text/html; charset=utf-8") w.Header().Set("Content-Type", "text/html; charset=utf-8")
w.Header().Set("Content-Length", strconv.FormatInt(int64(len(html)), 10)) w.Header().Set("Content-Length", strconv.Itoa(len(html)))
httpserver.SetLastModifiedHeader(w, lastModTime) httpserver.SetLastModifiedHeader(w, lastModTime)
if r.Method == http.MethodGet { if r.Method == http.MethodGet {
w.Write(html) w.Write(html)

View file

@ -46,17 +46,17 @@ type UpstreamHostDownFunc func(*UpstreamHost) bool
// UpstreamHost represents a single proxy upstream // UpstreamHost represents a single proxy upstream
type UpstreamHost struct { type UpstreamHost struct {
Conns int64 // must be first field to be 64-bit aligned on 32-bit systems Conns int64 // must be first field to be 64-bit aligned on 32-bit systems
MaxConns int64
Name string // hostname of this upstream host Name string // hostname of this upstream host
ReverseProxy *ReverseProxy
Fails int32
FailTimeout time.Duration
Unhealthy bool
UpstreamHeaders http.Header UpstreamHeaders http.Header
DownstreamHeaders http.Header DownstreamHeaders http.Header
FailTimeout time.Duration
CheckDown UpstreamHostDownFunc CheckDown UpstreamHostDownFunc
WithoutPathPrefix string WithoutPathPrefix string
MaxConns int64 ReverseProxy *ReverseProxy
Fails int32
Unhealthy bool
} }
// Down checks whether the upstream host is down or not. // Down checks whether the upstream host is down or not.

View file

@ -21,27 +21,26 @@ var (
) )
type staticUpstream struct { type staticUpstream struct {
from string from string
upstreamHeaders http.Header upstreamHeaders http.Header
downstreamHeaders http.Header downstreamHeaders http.Header
Hosts HostPool Hosts HostPool
Policy Policy Policy Policy
KeepAlive int KeepAlive int
insecureSkipVerify bool FailTimeout time.Duration
TryDuration time.Duration
FailTimeout time.Duration TryInterval time.Duration
MaxFails int32 MaxConns int64
TryDuration time.Duration HealthCheck struct {
TryInterval time.Duration
MaxConns int64
HealthCheck struct {
Client http.Client Client http.Client
Path string Path string
Interval time.Duration Interval time.Duration
Timeout time.Duration Timeout time.Duration
} }
WithoutPathPrefix string WithoutPathPrefix string
IgnoredSubPaths []string IgnoredSubPaths []string
insecureSkipVerify bool
MaxFails int32
} }
// NewStaticUpstreams parses the configuration input and sets up // NewStaticUpstreams parses the configuration input and sets up

View file

@ -216,10 +216,7 @@ func (r *ComplexRule) matchExt(rPath string) bool {
} }
} }
if mustUse { return !mustUse
return false
}
return true
} }
func (r *ComplexRule) regexpMatches(rPath string) []string { func (r *ComplexRule) regexpMatches(rPath string) []string {

View file

@ -217,7 +217,7 @@ func (c *Config) StorageFor(caURL string) (Storage, error) {
// MakeTLSConfig reduces configs into a single tls.Config. // MakeTLSConfig reduces configs into a single tls.Config.
// If TLS is to be disabled, a nil tls.Config will be returned. // If TLS is to be disabled, a nil tls.Config will be returned.
func MakeTLSConfig(configs []*Config) (*tls.Config, error) { func MakeTLSConfig(configs []*Config) (*tls.Config, error) {
if configs == nil || len(configs) == 0 { if len(configs) == 0 {
return nil, nil return nil, nil
} }
@ -418,27 +418,6 @@ var supportedCiphersMap = map[string]uint16{
"RSA-3DES-EDE-CBC-SHA": tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA, "RSA-3DES-EDE-CBC-SHA": tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA,
} }
// List of supported cipher suites in descending order of preference.
// Ordering is very important! Getting the wrong order will break
// mainstream clients, especially with HTTP/2.
//
// Note that TLS_FALLBACK_SCSV is not in this list since it is always
// added manually.
var supportedCiphers = []uint16{
tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,
tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,
tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,
tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,
tls.TLS_RSA_WITH_AES_256_CBC_SHA,
tls.TLS_RSA_WITH_AES_128_CBC_SHA,
tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA,
}
// List of all the ciphers we want to use by default // List of all the ciphers we want to use by default
var defaultCiphers = []uint16{ var defaultCiphers = []uint16{
tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,

View file

@ -120,7 +120,7 @@ func TestStandaloneTLSTicketKeyRotation(t *testing.T) {
t.Errorf("Expected TLS ticket keys in use: %d; Got instead: %d.", rounds, pkt.keysInUse) t.Errorf("Expected TLS ticket keys in use: %d; Got instead: %d.", rounds, pkt.keysInUse)
return return
} }
if c.SessionTicketsDisabled == true { if c.SessionTicketsDisabled {
t.Error("Session tickets have been disabled unexpectedly.") t.Error("Session tickets have been disabled unexpectedly.")
return return
} }

View file

@ -301,5 +301,3 @@ var failedIssuanceMu sync.RWMutex
// If this value is recent, do not make any on-demand certificate requests. // If this value is recent, do not make any on-demand certificate requests.
var lastIssueTime time.Time var lastIssueTime time.Time
var lastIssueTimeMu sync.Mutex var lastIssueTimeMu sync.Mutex
var errNoCert = errors.New("no certificate available")

View file

@ -118,11 +118,7 @@ func getUser(storage Storage, email string) (User, error) {
// load their private key // load their private key
user.key, err = loadPrivateKey(userData.Key) user.key, err = loadPrivateKey(userData.Key)
if err != nil { return user, err
return user, err
}
return user, nil
} }
// saveUser persists a user's key and account registration // saveUser persists a user's key and account registration