💾 Archived View for mozz.us › diagnostics › 2020-01-08 › results › mozz.us.txt captured on 2024-07-09 at 00:36:56.

View Raw

More Information

⬅️ Previous capture (2020-09-24)

-=-=-=-=-=-=-

Running gemini server diagnostics check against mozz.us:1965
...

[IPv4Address] Establish a connection over an IPv4 address
Looking up IPv4 address for 'mozz.us'
  ✓ '174.138.124.169'
Attempting to connect to 174.138.124.169:1965
  ✓ Successfully established connection

[IPv6Address] Establish a connection over an IPv6 address
Looking up IPv6 address for 'mozz.us'
  Found IPv4-mapped address, skipping check

[TLSVersion] Server must negotiate at least TLS v1.2, ideally TLS v1.3
Checking client library
  'OpenSSL 1.1.1d  10 Sep 2019'
Determining highest supported TLS version
  Negotiated TLSv1.2

[TLSClaims] Certificate claims must be valid
Checking "Not Valid Before" timestamp
  ✓ 2019-12-13 01:32:45 UTC
Checking "Not Valid After" timestamp
  ✓ 2020-03-12 01:32:45 UTC
Checking subject claim matches server hostname
  {'subject': ((('commonName', 'mozz.us'),),), 'subjectAltName': (('DNS', 'api.mozz.us'), ('DNS', 'dev.mozz.us'), ('DNS', 'git.mozz.us'), ('DNS', 'goodvibes.mozz.us'), ('DNS', 'gopher.mozz.us'), ('DNS', 'mail.mozz.us'), ('DNS', 'michael.mozz.us'), ('DNS', 'mozz.us'), ('DNS', 'portal.mozz.us'), ('DNS', 'proxy.mozz.us'), ('DNS', 'www.mozz.us'))}
  ✓ Hostname 'mozz.us' matches claim

[TLSVerified] Certificate should be self-signed or have a trusted issuer
Connecting over verified SSL socket
  ✓ Established trusted TLS connection

[TLSRequired] Non-TLS requests should be refused
Sending non-TLS request
  ✓ Connection closed by server

[ConcurrentConnections] Server should support concurrent connections
Attempting to establish two connections
  Opening socket 1
  Opening socket 2
  Closing socket 2
  Closing socket 1
  ✓ Concurrent connections supported

[Homepage] Request the gemini homepage
Requesting URL
  'gemini://mozz.us/\r\n'
Response header
  '20\ttext/gemini\r\n'
Status should return a success code (20 SUCCESS)
  ✓ Received status of '20'
Mime type should be "text/gemini"
  ✓ 'text/gemini'
Header should end with "\r\n"
  ✓ '\r\n'
Body should be non-empty
  ✓ '=== WELCOME TO MOZZ.US ===\n___________..._\n_______'
Body should terminate with a newline
  ✓ '\n'
Body should use "\r\n" line endings
  x Invalid line ending '=== WELCOME TO MOZZ.US ===\n'

[HomepageRedirect] A URL with no trailing slash should redirect to the canonical resource
Requesting URL
  'gemini://mozz.us\r\n'
Response header
  '20\ttext/gemini\r\n'
Status should return code 31 (REDIRECT PERMANENT)
  x '20'
Meta should redirect to location "gemini://[hostname]/"
  x 'text/gemini'
Header should end with "\r\n"
  ✓ '\r\n'
Body should be empty
  x '=== WELCOME TO MOZZ.US ===\n___________..._\n_______'

[PageNotFound] Request a gemini URL that does not exist
Requesting URL
  'gemini://mozz.us/09pdsakjo73hjn12id78\r\n'
Response header
  '51\tNot Found\r\n'
Status should return code 51 (NOT FOUND)
  ✓ '51'
Header should end with "\r\n"
  ✓ '\r\n'
Body should be empty
  ✓ ''

[RequestMissingCR] A request without a <CR> should timeout
Requesting URL
  'gemini://mozz.us/\n'
No response should be received
  ✓ The read operation timed out

[URLIncludePort] Send the URL with the port explicitly defined
Requesting URL
  'gemini://mozz.us:1965/\r\n'
Response header
  '20\ttext/gemini\r\n'
Status should return a success code (20 SUCCESS)
  ✓ Received status of '20'

[URLSchemeMissing] A URL without a scheme should be inferred as gemini
Requesting URL
  '//mozz.us/\r\n'
Response header
  '50\tUnrecognized URL\r\n'
Status should return a success code (20 SUCCESS)
  x Received status of '50'

[URLByIPAddress] Send the URL using the IPv4 address
Requesting URL
  'gemini://174.138.124.169:1965/\r\n'
Response header
  '50\tUnrecognized URL\r\n'
Verify that the status matches your desired behavior
  '50'

[URLInvalidUTF8Byte] Send a URL containing a non-UTF8 byte sequence
Requesting URL
  'gemini://mozz.us/\udcdc\r\n'
Response header
  '59\tMalformed request\r\n'
Connection should either drop, or return 59 (BAD REQUEST)
  ✓ '59'

[URLMaxSize] Send a 1024 byte URL, the maximum allowed size
Requesting URL
  'gemini://mozz.us/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n'
Response header
  "42\t[Errno 36] File name too long: '/usr/local/www/mozz/gemini/00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'\r\n"
Status should return code 51 (NOT FOUND)
  x '42'

[URLAboveMaxSize] Send a 1025 byte URL, above the maximum allowed size
Requesting URL
  'gemini://mozz.us/000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\r\n'
Response header
  '59\tMalformed request\r\n'
Connection should either drop, or return 59 (BAD REQUEST)
  ✓ '59'

[URLWrongPort] A URL with an incorrect port number should be rejected
Requesting URL
  'gemini://mozz.us:443/\r\n'
Response header
  '20\ttext/gemini\r\n'
Status should return a failure code (5X PERMANENT FAILURE)
  x Received status of '20'

[URLWrongHost] A URL with a foreign hostname should be rejected
Requesting URL
  'gemini://wikipedia.org/\r\n'
Response header
  '50\tUnrecognized URL\r\n'
Status should return a failure code (5X PERMANENT FAILURE)
  ✓ Received status of '50'

[URLSchemeHTTP] Send a URL with an HTTP scheme
Requesting URL
  'http://mozz.us/\r\n'
Response header
  '50\tUnrecognized URL\r\n'
Status should return a failure code (5X PERMANENT FAILURE)
  ✓ Received status of '50'

[URLSchemeHTTPS] Send a URL with an HTTPS scheme
Requesting URL
  'https://mozz.us/\r\n'
Response header
  '50\tUnrecognized URL\r\n'
Status should return a failure code (5X PERMANENT FAILURE)
  ✓ Received status of '50'

[URLSchemeGopher] Send a URL with a Gopher scheme
Requesting URL
  'gopher://mozz.us/\r\n'
Response header
  '50\tUnrecognized URL\r\n'
Status should return a failure code (5X PERMANENT FAILURE)
  ✓ Received status of '50'

[URLEmpty] Empty URLs should not be accepted by the server
Requesting URL
  '\r\n'
Response header
  '50\tUnrecognized URL\r\n'
Status should return a failure code (5X PERMANENT FAILURE)
  ✓ Received status of '50'

[URLRelative] Relative URLs should not be accepted by the server
Requesting URL
  '/\r\n'
Response header
  '50\tUnrecognized URL\r\n'
Status should return a failure code (5X PERMANENT FAILURE)
  ✓ Received status of '50'

[URLDotEscape] A URL should not be able to escape the root using dot notation
Requesting URL
  'gemini://mozz.us/../../\r\n'
Response header
  '51\tNot Found\r\n'
Status should return a failure code (5X PERMANENT FAILURE)
  ✓ Received status of '51'

Done!