$line) { $fsk_line = explode(' ',trim($line)); $fsk[] = $fsk_line[1]; } $sk = explode(' ',trim($sshkey)); return in_array($sk[1], $fsk); } $message = ""; if (isset($_REQUEST["username"]) && isset($_REQUEST["email"])) { // Check the name. $name = trim($_REQUEST["username"]); if ($name == "") $message .= "
  • fill in your desired username
  • \n"; else { if ($name != "" && strlen($name) < 2) $message .= "
  • username is too short (2 character min)
  • \n"; if (strlen($name) > 32) $message .= "
  • username too long (32 character max)
  • \n"; if (strlen($name) > 1 && !preg_match('/^[a-z][a-z0-9]{1,31}$/', $name)) $message .= "
  • username contains invalid characters (lowercase only, must start with a letter).
  • \n"; if (posix_getpwnam($name) || forbidden_name($name)) $message .= "
  • sorry, the username $name is unavailable
  • \n"; } // Check the e-mail address. $email = trim($_REQUEST["email"]); if ($email == "") $message .= "
  • please fill in your email address
  • "; else { $result = SMTP::MakeValidEmailAddress($_REQUEST["email"]); if (!$result["success"]) $message .= "
  • invalid email address: " . htmlspecialchars($result["error"]) . "
  • "; elseif ($result["email"] != $email) $message .= "
  • invalid email address. did you mean: " . htmlspecialchars($result["email"]) . "
  • "; elseif ($name != "" && forbidden_email($email)) { $message .= "
  • your email is banned!

  • "; add_ban_info($name, $email); } } if ($_REQUEST["interest"] == "") $message .= "
  • please explain why you're interested so we can make sure you're a real human being
  • "; $sshkey = trim($_REQUEST["sshkey"]); if ($sshkey == "" || mb_substr($sshkey, 0, 4) !== "ssh-") $message .= '
  • ssh key required: please create one and submit the public key. ' . 'see our ssh wiki or ' . 'hop on irc and ask for help
  • '; else { if ($name != "" && $email != "") { if (forbidden_sshkey($sshkey)) { $message .= "
  • your sshkey is banned!
  • \n"; add_ban_info($name, $email); } } } // no validation errors if ($message == "") { $makeuser = "makeuser {$_REQUEST["username"]} {$_REQUEST["email"]} \"{$sshkey}\""; $msgbody = " username: {$_REQUEST["username"]} email: {$_REQUEST["email"]} reason: {$_REQUEST["interest"]} $makeuser "; if (mail('sudoers', 'new tilde.team signup', $msgbody)) { echo ''; // temp. add to forbidden to prevent double signups (cleanup after user creation) file_put_contents("/var/signups_current", $name.PHP_EOL, FILE_APPEND); file_put_contents("/var/signups", $makeuser.PHP_EOL, FILE_APPEND); } else { echo ''; } } else { ?>