Open alexander-bauer opened 12 years ago
Tested with projectmeshnet.org. It causes a crypto-related runtime error.
panic: crypto: requested hash function is unavailable goroutine 3 [running]: crypto.Hash.New(0x5, 0x8, 0x0) /usr/lib/go/src/pkg/crypto/crypto.go:62 +0x93 crypto/x509.(*Certificate).CheckSignature(0x188bea00, 0x4, 0x1898d00e, 0x70d, 0xe5c, ...) /usr/lib/go/src/pkg/crypto/x509/x509.go:391 +0x5b crypto/x509.(*Certificate).CheckSignatureFrom(0x188be800, 0x188bea00, 0x0, 0x0) /usr/lib/go/src/pkg/crypto/x509/x509.go:370 +0x141 crypto/x509.(*CertPool).findVerifiedParents(0x18983f80, 0x188be800, 0x0, 0x0) /usr/lib/go/src/pkg/crypto/x509/cert_pool.go:44 +0x158 crypto/x509.(*Certificate).buildChains(0x188be800, 0x1898f000, 0x65d65c, 0x1, 0x1, ...) /usr/lib/go/src/pkg/crypto/x509/verify.go:198 +0x16d crypto/x509.(*Certificate).Verify(0x188be800, 0x0, 0x0, 0x18983f80, 0x1898f020, ...) /usr/lib/go/src/pkg/crypto/x509/verify.go:177 +0x17a crypto/tls.(*Conn).clientHandshake(0x1891e180, 0x0, 0x0) /usr/lib/go/src/pkg/crypto/tls/handshake_client.go:117 +0x1209 ----- stack segment boundary ----- crypto/tls.(*Conn).Handshake(0x1891e180, 0x0, 0x0) /usr/lib/go/src/pkg/crypto/tls/conn.go:808 +0xc3 net/http.(*Transport).getConn(0x18840c60, 0x189836c0, 0x189836c0, 0x0) /usr/lib/go/src/pkg/net/http/transport.go:369 +0x398 net/http.(*Transport).RoundTrip(0x18840c60, 0x189137e0, 0x189801e0, 0x0, 0x0, ...) /usr/lib/go/src/pkg/net/http/transport.go:155 +0x23b net/http.send(0x189137e0, 0x1883ed80, 0x18840c60, 0x0, 0x0, ...) /usr/lib/go/src/pkg/net/http/client.go:133 +0x325 net/http.(*Client).doFollowingRedirects(0x832d1b8, 0x189135b0, 0x18956410, 0x0, 0x0, ...) /usr/lib/go/src/pkg/net/http/client.go:227 +0x568 net/http.(*Client).Get(0x832d1b8, 0x18901f90, 0x24, 0x80612c5, 0x0, ...) /usr/lib/go/src/pkg/net/http/client.go:176 +0x86 net/http.Get(0x18901f90, 0x24, 0x19, 0x0, 0x0, ...) /usr/lib/go/src/pkg/net/http/client.go:158 +0x40 main.getRobotsPermission(0x18878040, 0x19, 0x0, 0x0) /home/sasha/dev/go/src/distru/index.go:241 +0x6b main.newSite(0x18878040, 0x19, 0x18983000, 0x12) /home/sasha/dev/go/src/distru/index.go:159 +0x82 main.Indexer(0x18800478, 0x18801180, 0x0) /home/sasha/dev/go/src/distru/index.go:140 +0x6d created by main.MaintainIndex /home/sasha/dev/go/src/distru/index.go:134 +0x74 goroutine 1 [chan receive]: net.(*pollServer).WaitRead(0x188018a0, 0x188523f0, 0x1888f3a0, 0xb) /usr/lib/go/src/pkg/net/fd.go:268 +0x75 net.(*netFD).accept(0x188523f0, 0x8089474, 0x0, 0x1883e4a0, 0x18800180, ...) /usr/lib/go/src/pkg/net/fd.go:622 +0x199 net.(*TCPListener).AcceptTCP(0x18891260, 0x81c638c, 0x0, 0x0) /usr/lib/go/src/pkg/net/tcpsock_posix.go:322 +0x56 net.(*TCPListener).Accept(0x18891260, 0x0, 0x0, 0x0, 0x0, ...) /usr/lib/go/src/pkg/net/tcpsock_posix.go:332 +0x39 main.Serve(0x1883eea0, 0x10) /home/sasha/dev/go/src/distru/serve.go:43 +0x354 main.main() /home/sasha/dev/go/src/distru/distru.go:12 +0x3d goroutine 2 [syscall]: created by runtime.main /build/buildd/golang-1/src/pkg/runtime/proc.c:221 goroutine 5 [syscall]: syscall.Syscall6() /build/buildd/golang-1/src/pkg/syscall/asm_linux_386.s:46 +0x27 syscall.EpollWait(0x7, 0x18850008, 0xa, 0xa, 0xffffffff, ...) /usr/lib/go/src/pkg/syscall/zerrors_linux_386.go:1780 +0x7d net.(*pollster).WaitFD(0x18850000, 0x188018a0, 0x0, 0x0, 0x0, ...) /usr/lib/go/src/pkg/net/fd_linux.go:146 +0x12b net.(*pollServer).Run(0x188018a0, 0x5) /usr/lib/go/src/pkg/net/fd.go:236 +0xdf created by net.newPollServer /usr/lib/go/src/pkg/net/newpollserver.go:35 +0x308 goroutine 6 [chan receive]: net.(*pollServer).WaitRead(0x188018a0, 0x188812a0, 0x1888f3a0, 0xb) /usr/lib/go/src/pkg/net/fd.go:268 +0x75 net.(*netFD).accept(0x188812a0, 0x8089474, 0x0, 0x1883e4a0, 0x18800180, ...) /usr/lib/go/src/pkg/net/fd.go:622 +0x199 net.(*TCPListener).AcceptTCP(0x18800580, 0xc, 0x0, 0x0) /usr/lib/go/src/pkg/net/tcpsock_posix.go:322 +0x56 net.(*TCPListener).Accept(0x18800580, 0x0, 0x0, 0x0, 0x0, ...) /usr/lib/go/src/pkg/net/tcpsock_posix.go:332 +0x39 net/http.(*Server).Serve(0x18880120, 0x1888f540, 0x18800580, 0x0, 0x0, ...) /usr/lib/go/src/pkg/net/http/server.go:1012 +0x77 net/http.(*Server).ListenAndServe(0x18880120, 0x18880120, 0x0) /usr/lib/go/src/pkg/net/http/server.go:1002 +0x9f net/http.ListenAndServe(0x81d8af0, 0x5, 0x0, 0x0, 0x18891300, ...) /usr/lib/go/src/pkg/net/http/server.go:1074 +0x55 main.ServeWeb() /home/sasha/dev/go/src/distru/web.go:15 +0xbf created by main.Serve /home/sasha/dev/go/src/distru/serve.go:40 +0x341 goroutine 37 [chan receive]: net.(*pollServer).WaitRead(0x188018a0, 0x18913620, 0x1888f3a0, 0xb) /usr/lib/go/src/pkg/net/fd.go:268 +0x75 net.(*netFD).Read(0x18913620, 0x18986000, 0x1000, 0x1000, 0xffffffff, ...) /usr/lib/go/src/pkg/net/fd.go:428 +0x19a net.(*TCPConn).Read(0x18971e48, 0x18986000, 0x1000, 0x1000, 0x0, ...) /usr/lib/go/src/pkg/net/tcpsock_posix.go:87 +0xb1 bufio.(*Reader).fill(0x189800c0, 0x0) /usr/lib/go/src/pkg/bufio/bufio.go:77 +0x115 bufio.(*Reader).Peek(0x189800c0, 0x1, 0x18956401, 0x0) /usr/lib/go/src/pkg/bufio/bufio.go:102 +0x8b net/http.(*persistConn).readLoop(0x1891ce80, 0x18878360) /usr/lib/go/src/pkg/net/http/transport.go:521 +0x8f created by net/http.(*Transport).getConn /usr/lib/go/src/pkg/net/http/transport.go:382 +0x591 goroutine 38 [runnable]: syscall.Syscall() /build/buildd/golang-1/src/pkg/syscall/asm_linux_386.s:33 +0x57 syscall.Close(0x4, 0x0, 0x0) /usr/lib/go/src/pkg/syscall/zerrors_linux_386.go:1700 +0x49 os.(*file).close(0x189740c0, 0x0, 0x0) /usr/lib/go/src/pkg/os/file_unix.go:96 +0x48 ----- stack segment boundary ----- created by runtime.gc /build/buildd/golang-1/src/pkg/runtime/mgc0.c:882
Tested with projectmeshnet.org. It causes a crypto-related runtime error.