{
  "port": 3690,
  "protocol": "tcp",
  "service": "Subversion (svnserve)",
  "oneLiner": "svnserve, the standalone Subversion server behind svn:// URLs.",
  "whatItIs": "svnserve speaks Subversion's own custom protocol on TCP 3690, the transport behind svn:// and svn+ssh:// URLs, as an alternative to serving repositories through Apache and mod_dav_svn on HTTP. The server greets every connection with a plaintext capability list before authentication. It survives on internal build servers, legacy corporate repositories, and appliances that shipped with Subversion; svnserve's default authentication is CRAM-MD5 against a passwd file, with Cyrus SASL as an optional upgrade.",
  "exposure": {
    "verdict": "never",
    "note": "The svn:// protocol has no transport encryption — repository contents and CRAM-MD5 exchanges cross the wire in the clear. Use svn+ssh, or mod_dav_svn over HTTPS, for anything off the local network."
  },
  "checkCommand": "nc -w 3 TARGET 3690 | head -c 60; echo",
  "links": [
    {
      "title": "Version Control with Subversion — svnserve, a Custom Server",
      "url": "https://svnbook.red-bean.com/en/1.8/svn.serverconfig.svnserve.html",
      "kind": "official-docs"
    },
    {
      "title": "apache/subversion",
      "url": "https://github.com/apache/subversion",
      "kind": "github"
    },
    {
      "title": "IANA port registry — 3690 (svn)",
      "url": "https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml?search=3690",
      "kind": "iana"
    }
  ]
}
