<?php
/**
 * Copyright (c) 2013, 2018 Eclipse Foundation and others.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *    Denis Roy (Eclipse Foundation)- initial API and implementation
 *    Christopher Guindon (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>

<div class="col-xs-24">
  <h2>What are you searching for?</h2>
  <p>It appears you're looking for our /etc/passwd file - probably because you want to get access to information in order to h4x0r us.</p>
  <p>It doesn't contain much... really.  A root account, an account for the web server, and the other dozen or so system accounts that are also in your /etc/passwd file. The rest of our account information is stored elsewhere.  Darn.</p>
  <p>So there you go. You can now try attacking us with an SSH brute-force, but our firewalls don't usually put up with that for very long.</p>
  <br /><br />
  <p>If you have questions or comments about this message, please e-mail webmaster@@eclipse.org</p>
</div>