zrhoffman opened a new issue #4412: deliveryservices/sslkeys/add with no 
authType returns Internal Server Error
URL: https://github.com/apache/trafficcontrol/issues/4412
 
 
   <!--
   ************ STOP!! ************
   If this issue identifies a security vulnerability, DO NOT submit it! 
Instead, contact
   the Apache Software Foundation Security Team at 
[email protected] and follow the
   guidelines at https://www.apache.org/security/ regarding vulnerability 
disclosure.
   -->
   
   <!--
   - For *SUPPORT QUESTIONS*, use the
   [Traffic Control slack channels](https://traffic-control-cdn.slack.com) or 
[Traffic Control mailing 
lists](http://trafficcontrol.apache.org/mailing_lists/).
   - Before submitting, please **SEARCH GITHUB** for a similar issue or PR. -->
   
   ## I'm submitting a ...
   <!-- (check all that apply with "[x]") -->
   <!--- security vulnerability (STOP!! - see above)-->
   - [x] bug report
   - [ ] new feature / enhancement request
   - [ ] improvement request (usability, performance, tech debt, etc.)
   - [ ] other <!--(Please do not submit support requests here - see above)-->
   
   ## Traffic Control components affected ...
   <!-- (check all that apply with "[x]") -->
   - [ ] CDN in a Box
   - [ ] Documentation
   - [ ] Grove
   - [ ] Traffic Control Client
   - [ ] Traffic Monitor
   - [x] Traffic Ops
   - [ ] Traffic Ops ORT
   - [ ] Traffic Portal
   - [ ] Traffic Router
   - [ ] Traffic Stats
   - [ ] Traffic Vault
   - [ ] unknown
   
   ## Current behavior:
   Traffic Ops panics if `authType` is not set in the POST body to 
`api/1.4/deliveryservices/sslkeys/add`.
   <!-- Describe how the bug manifests / how the current features are 
insufficient. -->
   
   ## Expected / new behavior:
   <!-- Describe what the behavior would be without the bug / how the feature 
would improve Traffic Control -->
   Validate `DeliveryServiceSSLKeysReq` and check for `nil` `AuthType` to avoid 
dereferencing `nil`.
   
   Also, `authType` should be set in [the JSON request in `to-add-sslkeys` in 
`to-access.sh`](https://github.com/apache/trafficcontrol/blob/18fe13ac63/infrastructure/cdn-in-a-box/traffic_ops/to-access.sh#L285-L302)
 of CDN-in-a-Box.
   
   ## Minimal reproduction of the problem with instructions:
   <!--
   If the current behavior is a bug or you can illustrate your feature request 
better with an example,
   please provide the *STEPS TO REPRODUCE* and include the applicable TC 
version.
   -->
   1. Rebuild the CDN-in-a-Box's `trafficops-go` Docker image at commit 
`18fe13ac63` or later
   
   2. Start CDN-in-a-Box, wait for Traffic Ops to be available, run this Python 
client for Traffic Ops command (from CDN-in-a-Box startup [in 
`to-access.sh`](https://github.com/apache/trafficcontrol/blob/18fe13ac63/infrastructure/cdn-in-a-box/traffic_ops/to-access.sh#L305)),
 and pay attention to the `trafficops` container's logs:
       ```shell script
       topost deliveryservices/sslkeys/add '{ "cdn": "CDN-in-a-Box", 
"certificate": { "crt": "", "csr": "", "key": "" }, "deliveryservice": "demo1", 
"hostname": "demo2", "key": "demo1", "version": 1 }'
       ```
   
   ## Anything else:
   <!-- e.g. stacktraces, related issues, suggestions how to fix -->
   *
       <details><summary>Stack trace (click to expand)</summary>
   
       ```go
       panic: (err: runtime error: invalid memory address or nil pointer 
dereference) stacktrace:
       goroutine 8381 [running]:
       github.com/apache/trafficcontrol/lib/go-util.Stacktrace(0x0, 0x0, 0x0)
           /tmp/go/src/github.com/apache/trafficcontrol/lib/go-util/util.go:32 
+0xba
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware.WrapPanicRecover.func1.1(0x1302080,
 0xc0017c6240, 0xc003b2d000)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware/wrappers.go:137
 +0x63
       panic(0x10057c0, 0x1a28f30)
           /usr/local/go/src/runtime/panic.go:513 +0x1e6
       
github.com/apache/trafficcontrol/lib/go-tc.(*DeliveryServiceAddSSLKeysReq).Validate(0xc002908e40,
 0xc003da4a80, 0x0, 0x0)
           
/tmp/go/src/github.com/apache/trafficcontrol/lib/go-tc/deliveryservice_ssl_keys.go:139
 +0x1ad
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/api.Parse(0x7f0cc42e9350,
 0xc002311300, 0xc003da4a80, 0x12fb5a0, 0xc002908e40, 0x0, 0x0)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/api/api.go:373
 +0x233
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/deliveryservice.AddSSLKeys(0x1302080,
 0xc0017c6240, 0xc003b2d000)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/deliveryservice/keys.go:61
 +0x31e
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware.AuthBase.GetWrapper.func1.1(0x1302080,
 0xc0017c6240, 0xc003b2d000)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware/wrappers.go:94
 +0x3fa
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware.WrapPanicRecover.func1(0x1302080,
 0xc0017c6240, 0xc003b2d000)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware/wrappers.go:141
 +0x8d
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware.WrapHeaders.func1(0x1304e40,
 0xc000f83540, 0xc003b2d000)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware/wrappers.go:121
 +0x2c6
       net/http.HandlerFunc.ServeHTTP(0xc0004b69e0, 0x1304e40, 0xc000f83540, 
0xc003b2d000)
           /usr/local/go/src/net/http/server.go:1964 +0x44
       net/http.(*timeoutHandler).ServeHTTP.func1(0xc002908d20, 0xc002311380, 
0xc000f83540, 0xc003b2d000, 0xc0021274a0)
           /usr/local/go/src/net/http/server.go:3155 +0x88
       created by net/http.(*timeoutHandler).ServeHTTP
           /usr/local/go/src/net/http/server.go:3149 +0x1f8
   
       goroutine 1 [chan receive, 2 minutes]:
       main.signalReloader(0x1301460, 0x12f6a38, 0xc00034da48)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/traffic_ops_golang.go:313
 +0xf7
       main.main()
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/traffic_ops_golang.go:225
 +0x279e
   
       goroutine 18 [syscall, 2 minutes]:
       os/signal.signal_recv(0x0)
           /usr/local/go/src/runtime/sigqueue.go:139 +0x9c
       os/signal.loop()
           /usr/local/go/src/os/signal/signal_unix.go:23 +0x26
       created by os/signal.init.0
           /usr/local/go/src/os/signal/signal_unix.go:29 +0x41
   
       goroutine 25 [select, 2 minutes]:
       database/sql.(*DB).connectionOpener(0xc0003ae0c0, 0x1305a40, 
0xc000148040)
           /usr/local/go/src/database/sql/sql.go:1001 +0xe7
       created by database/sql.OpenDB
           /usr/local/go/src/database/sql/sql.go:671 +0x29c
   
       goroutine 26 [select, 2 minutes]:
       database/sql.(*DB).connectionResetter(0xc0003ae0c0, 0x1305a40, 
0xc000148040)
           /usr/local/go/src/database/sql/sql.go:1014 +0x109
       created by database/sql.OpenDB
           /usr/local/go/src/database/sql/sql.go:672 +0x2d2
   
       goroutine 27 [IO wait, 2 minutes]:
       internal/poll.runtime_pollWait(0x7f0ccb858f00, 0x72, 0xffffffffffffffff)
           /usr/local/go/src/runtime/netpoll.go:173 +0x5e
       internal/poll.(*pollDesc).wait(0xc000154098, 0x72, 0xc000540000, 0x0, 
0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x96
       internal/poll.(*pollDesc).waitRead(0xc000154098, 0xffffffffffffff00, 
0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x45
       internal/poll.(*FD).Accept(0xc000154080, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0)
           /usr/local/go/src/internal/poll/fd_unix.go:384 +0x383
       net.(*netFD).accept(0xc000154080, 0x0, 0x0, 0x0)
           /usr/local/go/src/net/fd_unix.go:238 +0x7d
       net.(*TCPListener).accept(0xc00014c068, 0x0, 0x0, 0x0)
           /usr/local/go/src/net/tcpsock_posix.go:139 +0x56
       net.(*TCPListener).AcceptTCP(0xc00014c068, 0x0, 0x0, 0x0)
           /usr/local/go/src/net/tcpsock.go:247 +0x79
       net/http.tcpKeepAliveListener.Accept(0xc00014c068, 0x0, 0x0, 0x0, 0x0)
           /usr/local/go/src/net/http/server.go:3232 +0x53
       net/http.(*Server).Serve(0xc00031c000, 0x1305500, 0xc00014c068, 0x0, 0x0)
           /usr/local/go/src/net/http/server.go:2826 +0x350
       net/http.(*Server).ListenAndServe(0xc00031c000, 0x0, 0x0)
           /usr/local/go/src/net/http/server.go:2764 +0x1ed
       main.main.func1(0x1a40840)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/traffic_ops_golang.go:157
 +0x125
       created by main.main
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/traffic_ops_golang.go:152
 +0x1d83
   
       goroutine 66 [IO wait]:
       internal/poll.runtime_pollWait(0x7f0ccb858e30, 0x72, 0xffffffffffffffff)
           /usr/local/go/src/runtime/netpoll.go:173 +0x5e
       internal/poll.(*pollDesc).wait(0xc000154118, 0x72, 0xc0002d8000, 0x0, 
0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x96
       internal/poll.(*pollDesc).waitRead(0xc000154118, 0xffffffffffffff00, 
0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x45
       internal/poll.(*FD).Accept(0xc000154100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
0x0)
           /usr/local/go/src/internal/poll/fd_unix.go:384 +0x383
       net.(*netFD).accept(0xc000154100, 0x0, 0x0, 0x0)
           /usr/local/go/src/net/fd_unix.go:238 +0x7d
       net.(*TCPListener).accept(0xc00015c090, 0x0, 0x0, 0x0)
           /usr/local/go/src/net/tcpsock_posix.go:139 +0x56
       net.(*TCPListener).AcceptTCP(0xc00015c090, 0x0, 0x0, 0x0)
           /usr/local/go/src/net/tcpsock.go:247 +0x79
       net/http.tcpKeepAliveListener.Accept(0xc00015c090, 0x0, 0x0, 0x0, 0x0)
           /usr/local/go/src/net/http/server.go:3232 +0x53
       crypto/tls.(*listener).Accept(0xc000454540, 0x0, 0x0, 0x0, 0x0)
           /usr/local/go/src/crypto/tls/tls.go:52 +0x64
       net/http.(*Server).Serve(0xc00031c5b0, 0x1302040, 0xc000454540, 0x0, 0x0)
           /usr/local/go/src/net/http/server.go:2826 +0x350
       net/http.(*Server).ServeTLS(0xc00031c5b0, 0x1305500, 0xc00015c090, 
0xc0003180f1, 0x1f, 0xc000318115, 0x1f, 0x0, 0x0)
           /usr/local/go/src/net/http/server.go:2891 +0x377
       net/http.(*Server).ListenAndServeTLS(0xc00031c5b0, 0xc0003180f1, 0x1f, 
0xc000318115, 0x1f, 0x0, 0x0)
           /usr/local/go/src/net/http/server.go:3048 +0x269
       main.main.func2(0xc000336000, 0xc00031c5b0)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/traffic_ops_golang.go:204
 +0x6aa
       created by main.main
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/traffic_ops_golang.go:179
 +0x2257
   
       goroutine 64 [IO wait, 1 minutes]:
       internal/poll.runtime_pollWait(0x7f0ccb858d60, 0x72, 0xb)
           /usr/local/go/src/runtime/netpoll.go:173 +0x5e
       internal/poll.(*pollDesc).wait(0xc0002ba598, 0x72, 0x12fd800, 0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x96
       internal/poll.(*pollDesc).waitRead(0xc0002ba598, 0xc00339a000, 0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x45
       internal/poll.(*FD).Read(0xc0002ba580, 0xc00339a000, 0x2000, 0x2000, 
0x0, 0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_unix.go:169 +0x36a
       net.(*netFD).Read(0xc0002ba580, 0xc00339a000, 0x2000, 0x2000, 0x0, 0x0, 
0x0)
           /usr/local/go/src/net/fd_unix.go:202 +0x7a
       net.(*conn).Read(0xc00014cc70, 0xc00339a000, 0x2000, 0x2000, 0x0, 0x0, 
0x0)
           /usr/local/go/src/net/net.go:177 +0xb0
       crypto/tls.(*block).readFromUntil(0xc000405bf0, 0x12fc6e0, 0xc00014cc70, 
0x5, 0x0, 0x0)
           /usr/local/go/src/crypto/tls/conn.go:492 +0x171
       crypto/tls.(*Conn).readRecord(0xc001138000, 0x1158a17, 0x0, 0x0)
           /usr/local/go/src/crypto/tls/conn.go:593 +0x1b1
       crypto/tls.(*Conn).Read(0xc001138000, 0xc000e78000, 0x1000, 0x1000, 0x0, 
0x0, 0x0)
           /usr/local/go/src/crypto/tls/conn.go:1145 +0x16c
       net/http.(*connReader).Read(0xc0003e0e70, 0xc000e78000, 0x1000, 0x1000, 
0x0, 0x0, 0x0)
           /usr/local/go/src/net/http/server.go:786 +0x2ce
       bufio.(*Reader).fill(0xc000141980)
           /usr/local/go/src/bufio/bufio.go:100 +0x2dc
       bufio.(*Reader).Peek(0xc000141980, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0)
           /usr/local/go/src/bufio/bufio.go:132 +0x12d
       net/http.(*conn).serve(0xc000ce3040, 0x1305a40, 0xc000bee280)
           /usr/local/go/src/net/http/server.go:1872 +0x135b
       created by net/http.(*Server).Serve
           /usr/local/go/src/net/http/server.go:2851 +0x7b0
   
       goroutine 104 [select, 2 minutes]:
       database/sql.(*DB).connectionCleaner(0xc0003ae0c0, 0x4e94914f0000)
           /usr/local/go/src/database/sql/sql.go:899 +0x136
       created by database/sql.(*DB).startCleanerLocked
           /usr/local/go/src/database/sql/sql.go:886 +0xe5
   
       goroutine 8399 [select]:
       net/http.(*timeoutHandler).ServeHTTP(0xc002311380, 0x13020c0, 
0xc000974ea0, 0xc003b2d000)
           /usr/local/go/src/net/http/server.go:3158 +0x2f8
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware.TimeOutWrapper.func1.1(0x13020c0,
 0xc000974ea0, 0xc003b2cf00)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware/wrappers.go:104
 +0xb2
       net/http.HandlerFunc.ServeHTTP(0xc0004b8d40, 0x13020c0, 0xc000974ea0, 
0xc003b2cf00)
           /usr/local/go/src/net/http/server.go:1964 +0x44
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware.WrapAccessLog.func1(0x1304e00,
 0xc002ed4620, 0xc003b2cf00)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/middleware/wrappers.go:172
 +0x276
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing.Handler(0xc0004c7350,
 0xc0004c7320, 0x12fd120, 0xc00015e0c0, 0xc0000b3680, 0xc000336480, 
0xc000479ef0, 0x1305040, 0xc000158450, 0x1304e00, ...)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/routing.go:286
 +0xd03
       
github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing.RegisterRoutes.func1(0x1304e00,
 0xc002ed4620, 0xc003b2cd00)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/traffic_ops_golang/routing/routing.go:351
 +0x12c
       net/http.HandlerFunc.ServeHTTP(0xc000eb7a80, 0x1304e00, 0xc002ed4620, 
0xc003b2cd00)
           /usr/local/go/src/net/http/server.go:1964 +0x44
       net/http.(*ServeMux).ServeHTTP(0xc0001584b0, 0x1304e00, 0xc002ed4620, 
0xc003b2cd00)
           /usr/local/go/src/net/http/server.go:2361 +0x1a4
       net/http.serverHandler.ServeHTTP(0xc00031c5b0, 0x1304e00, 0xc002ed4620, 
0xc003b2cd00)
           /usr/local/go/src/net/http/server.go:2741 +0x1e9
       net/http.(*conn).serve(0xc000eebd60, 0x1305a40, 0xc002311280)
           /usr/local/go/src/net/http/server.go:1847 +0x1146
       created by net/http.(*Server).Serve
           /usr/local/go/src/net/http/server.go:2851 +0x7b0
   
       goroutine 6870 [IO wait]:
       internal/poll.runtime_pollWait(0x7f0ccb858a20, 0x72, 0xb)
           /usr/local/go/src/runtime/netpoll.go:173 +0x5e
       internal/poll.(*pollDesc).wait(0xc0002dd198, 0x72, 0x12fd800, 0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x96
       internal/poll.(*pollDesc).waitRead(0xc0002dd198, 0xc0038a2000, 0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x45
       internal/poll.(*FD).Read(0xc0002dd180, 0xc0038a2000, 0x2000, 0x2000, 
0x0, 0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_unix.go:169 +0x36a
       net.(*netFD).Read(0xc0002dd180, 0xc0038a2000, 0x2000, 0x2000, 0x0, 0x0, 
0x0)
           /usr/local/go/src/net/fd_unix.go:202 +0x7a
       net.(*conn).Read(0xc0002d50e8, 0xc0038a2000, 0x2000, 0x2000, 0x0, 0x0, 
0x0)
           /usr/local/go/src/net/net.go:177 +0xb0
       crypto/tls.(*block).readFromUntil(0xc0004840f0, 0x12fc6e0, 0xc0002d50e8, 
0x5, 0x0, 0x0)
           /usr/local/go/src/crypto/tls/conn.go:492 +0x171
       crypto/tls.(*Conn).readRecord(0xc0029e2a80, 0x1158a17, 0x0, 0x0)
           /usr/local/go/src/crypto/tls/conn.go:593 +0x1b1
       crypto/tls.(*Conn).Read(0xc0029e2a80, 0xc0024bd000, 0x1000, 0x1000, 0x0, 
0x0, 0x0)
           /usr/local/go/src/crypto/tls/conn.go:1145 +0x16c
       net/http.(*persistConn).Read(0xc002903680, 0xc0024bd000, 0x1000, 0x1000, 
0x0, 0x0, 0x0)
           /usr/local/go/src/net/http/transport.go:1499 +0x24d
       bufio.(*Reader).fill(0xc000045b00)
           /usr/local/go/src/bufio/bufio.go:100 +0x2dc
       bufio.(*Reader).Peek(0xc000045b00, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
           /usr/local/go/src/bufio/bufio.go:132 +0x12d
       net/http.(*persistConn).readLoop(0xc002903680)
           /usr/local/go/src/net/http/transport.go:1647 +0x1f0
       created by net/http.(*Transport).dialConn
           /usr/local/go/src/net/http/transport.go:1340 +0x13d5
   
       goroutine 6871 [select]:
       net/http.(*persistConn).writeLoop(0xc002903680)
           /usr/local/go/src/net/http/transport.go:1887 +0x14e
       created by net/http.(*Transport).dialConn
           /usr/local/go/src/net/http/transport.go:1341 +0x13fa
   
       goroutine 6892 [select]:
       
github.com/apache/trafficcontrol/traffic_ops/vendor/github.com/basho/riak-go-client.(*connectionManager).manageConnections(0xc00031cea0)
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/vendor/github.com/basho/riak-go-client/connection_manager.go:335
 +0x16f
       created by 
github.com/apache/trafficcontrol/traffic_ops/vendor/github.com/basho/riak-go-client.(*connectionManager).start
           
/tmp/go/src/github.com/apache/trafficcontrol/traffic_ops/vendor/github.com/basho/riak-go-client/connection_manager.go:190
 +0x29f
   
       goroutine 8383 [runnable]:
       
github.com/apache/trafficcontrol/vendor/github.com/lib/pq.(*conn).watchCancel.func1(0xc00046f0e0,
 0xc0014aa840, 0xc002127620)
           
/tmp/go/src/github.com/apache/trafficcontrol/vendor/github.com/lib/pq/conn_go18.go:83
 +0xad
       created by 
github.com/apache/trafficcontrol/vendor/github.com/lib/pq.(*conn).watchCancel
           
/tmp/go/src/github.com/apache/trafficcontrol/vendor/github.com/lib/pq/conn_go18.go:82
 +0xa8
   
       goroutine 8385 [IO wait]:
       internal/poll.runtime_pollWait(0x7f0ccb8587b0, 0x72, 0xb)
           /usr/local/go/src/runtime/netpoll.go:173 +0x5e
       internal/poll.(*pollDesc).wait(0xc003d99918, 0x72, 0x12fd800, 0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:85 +0x96
       internal/poll.(*pollDesc).waitRead(0xc003d99918, 0xc0035c5800, 0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_poll_runtime.go:90 +0x45
       internal/poll.(*FD).Read(0xc003d99900, 0xc0035c5800, 0x400, 0x400, 0x0, 
0x0, 0x0)
           /usr/local/go/src/internal/poll/fd_unix.go:169 +0x36a
       net.(*netFD).Read(0xc003d99900, 0xc0035c5800, 0x400, 0x400, 0x0, 0x0, 
0x0)
           /usr/local/go/src/net/fd_unix.go:202 +0x7a
       net.(*conn).Read(0xc00015d260, 0xc0035c5800, 0x400, 0x400, 0x0, 0x0, 0x0)
           /usr/local/go/src/net/net.go:177 +0xb0
       crypto/tls.(*block).readFromUntil(0xc002ba68d0, 0x12fc6e0, 0xc00015d260, 
0x5, 0x0, 0x0)
           /usr/local/go/src/crypto/tls/conn.go:492 +0x171
       crypto/tls.(*Conn).readRecord(0xc003633500, 0x1158a17, 0x0, 0x0)
           /usr/local/go/src/crypto/tls/conn.go:593 +0x1b1
       crypto/tls.(*Conn).Read(0xc003633500, 0xc002135f91, 0x1, 0x1, 0x0, 0x0, 
0x0)
           /usr/local/go/src/crypto/tls/conn.go:1145 +0x16c
       net/http.(*connReader).backgroundRead(0xc002135f80)
           /usr/local/go/src/net/http/server.go:676 +0xb6
       created by net/http.(*connReader).startBackgroundRead
           /usr/local/go/src/net/http/server.go:672 +0x102
   
       goroutine 8384 [runnable]:
       database/sql.(*Tx).awaitDone(0xc003da4a80)
           /usr/local/go/src/database/sql/sql.go:1916 +0x54
       created by database/sql.(*DB).beginDC
           /usr/local/go/src/database/sql/sql.go:1672 +0x34e
       ```
       </details>
   
   * This breaks CDN-in-a-Box.
   
   <!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
   
       http://www.apache.org/licenses/LICENSE-2.0
   
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
   -->

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to