💾 Archived View for mozz.us › diagnostics › 2020-01-08 › results_ansi › heavysquare.com.txt captured on 2020-09-24 at 00:53:52.
-=-=-=-=-=-=-
Running gemini server diagnostics check against heavysquare.com:1965 ... [1m[IPv4Address] Establish a connection over an IPv4 address[0m Looking up IPv4 address for 'heavysquare.com' [32m ✓ '95.216.162.65'[0m Attempting to connect to 95.216.162.65:1965 [32m ✓ Successfully established connection[0m [1m[IPv6Address] Establish a connection over an IPv6 address[0m Looking up IPv6 address for 'heavysquare.com' [33m Found IPv4-mapped address, skipping check[0m [1m[TLSVersion] Server must negotiate at least TLS v1.2, ideally TLS v1.3[0m Checking client library [36m 'OpenSSL 1.1.1d 10 Sep 2019'[0m Determining highest supported TLS version [32m ✓ Negotiated TLSv1.3[0m [1m[TLSClaims] Certificate claims must be valid[0m Checking "Not Valid Before" timestamp [32m ✓ 2019-07-09 00:00:00 UTC[0m Checking "Not Valid After" timestamp [32m ✓ 2021-07-08 23:59:59 UTC[0m Checking subject claim matches server hostname [36m {'subject': ((('commonName', '*.heavysquare.com'),),), 'subjectAltName': (('DNS', '*.heavysquare.com'), ('DNS', 'heavysquare.com'))}[0m [32m ✓ Hostname 'heavysquare.com' matches claim[0m [1m[TLSVerified] Certificate should be self-signed or have a trusted issuer[0m Connecting over verified SSL socket [31m x [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)[0m [1m[TLSRequired] Non-TLS requests should be refused[0m Sending non-TLS request [32m ✓ ConnectionResetError(54, 'Connection reset by peer')[0m [1m[ConcurrentConnections] Server should support concurrent connections[0m Attempting to establish two connections [36m Opening socket 1[0m [36m Opening socket 2[0m [36m Closing socket 2[0m [36m Closing socket 1[0m [32m ✓ Concurrent connections supported[0m [1m[Homepage] Request the gemini homepage[0m Requesting URL [36m 'gemini://heavysquare.com/\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return a success code (20 SUCCESS) [32m ✓ Received status of '20'[0m Mime type should be "text/gemini" [32m ✓ 'text/gemini'[0m Header should end with "\r\n" [32m ✓ '\r\n'[0m Body should be non-empty [32m ✓ 'HEAVYSQUARE GEMINI SERVER\n\n** Some local test file'[0m Body should terminate with a newline [32m ✓ '\n'[0m Body should use "\r\n" line endings [31m x Invalid line ending 'HEAVYSQUARE GEMINI SERVER\n'[0m [1m[HomepageRedirect] A URL with no trailing slash should redirect to the canonical resource[0m Requesting URL [36m 'gemini://heavysquare.com\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return code 31 (REDIRECT PERMANENT) [31m x '20'[0m Meta should redirect to location "gemini://[hostname]/" [31m x 'text/gemini'[0m Header should end with "\r\n" [32m ✓ '\r\n'[0m Body should be empty [31m x 'HEAVYSQUARE GEMINI SERVER\n\n** Some local test file'[0m [1m[PageNotFound] Request a gemini URL that does not exist[0m Requesting URL [36m 'gemini://heavysquare.com/09pdsakjo73hjn12id78\r\n'[0m Response header [36m '51\tNot Found\r\n'[0m Status should return code 51 (NOT FOUND) [32m ✓ '51'[0m Header should end with "\r\n" [32m ✓ '\r\n'[0m Body should be empty [32m ✓ ''[0m [1m[RequestMissingCR] A request without a <CR> should timeout[0m Requesting URL [36m 'gemini://heavysquare.com/\n'[0m No response should be received [32m ✓ The read operation timed out[0m [1m[URLIncludePort] Send the URL with the port explicitly defined[0m Requesting URL [36m 'gemini://heavysquare.com:1965/\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return a success code (20 SUCCESS) [32m ✓ Received status of '20'[0m [1m[URLSchemeMissing] A URL without a scheme should be inferred as gemini[0m Requesting URL [36m '//heavysquare.com/\r\n'[0m Response header [36m '51\tNot Found\r\n'[0m Status should return a success code (20 SUCCESS) [31m x Received status of '51'[0m [1m[URLByIPAddress] Send the URL using the IPv4 address[0m Requesting URL [36m 'gemini://95.216.162.65:1965/\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Verify that the status matches your desired behavior [36m '20'[0m [1m[URLInvalidUTF8Byte] Send a URL containing a non-UTF8 byte sequence[0m Requesting URL [36m 'gemini://heavysquare.com/\udcdc\r\n'[0m Response header [36m '51\tNot Found\r\n'[0m Connection should either drop, or return 59 (BAD REQUEST) [31m x '51'[0m [1m[URLMaxSize] Send a 1024 byte URL, the maximum allowed size[0m Requesting URL [36m 'gemini://heavysquare.com/000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n'[0m Response header [36m '40\tInternal server error\r\n'[0m Status should return code 51 (NOT FOUND) [31m x '40'[0m [1m[URLAboveMaxSize] Send a 1025 byte URL, above the maximum allowed size[0m Requesting URL [36m 'gemini://heavysquare.com/0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n'[0m Response header [36m '40\tInternal server error\r\n'[0m Connection should either drop, or return 59 (BAD REQUEST) [31m x '40'[0m [1m[URLWrongPort] A URL with an incorrect port number should be rejected[0m Requesting URL [36m 'gemini://heavysquare.com:443/\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return a failure code (5X PERMANENT FAILURE) [31m x Received status of '20'[0m [1m[URLWrongHost] A URL with a foreign hostname should be rejected[0m Requesting URL [36m 'gemini://wikipedia.org/\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return a failure code (5X PERMANENT FAILURE) [31m x Received status of '20'[0m [1m[URLSchemeHTTP] Send a URL with an HTTP scheme[0m Requesting URL [36m 'http://heavysquare.com/\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return a failure code (5X PERMANENT FAILURE) [31m x Received status of '20'[0m [1m[URLSchemeHTTPS] Send a URL with an HTTPS scheme[0m Requesting URL [36m 'https://heavysquare.com/\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return a failure code (5X PERMANENT FAILURE) [31m x Received status of '20'[0m [1m[URLSchemeGopher] Send a URL with a Gopher scheme[0m Requesting URL [36m 'gopher://heavysquare.com/\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return a failure code (5X PERMANENT FAILURE) [31m x Received status of '20'[0m [1m[URLEmpty] Empty URLs should not be accepted by the server[0m Requesting URL [36m '\r\n'[0m Response header [36m '40\tInternal server error\r\n'[0m Status should return a failure code (5X PERMANENT FAILURE) [31m x Received status of '40'[0m [1m[URLRelative] Relative URLs should not be accepted by the server[0m Requesting URL [36m '/\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return a failure code (5X PERMANENT FAILURE) [31m x Received status of '20'[0m [1m[URLDotEscape] A URL should not be able to escape the root using dot notation[0m Requesting URL [36m 'gemini://heavysquare.com/../../\r\n'[0m Response header [36m '20\ttext/gemini\r\n'[0m Status should return a failure code (5X PERMANENT FAILURE) [31m x Received status of '20'[0m Done!