\n";
   echo "
HS 2.0 Terms and Conditions\n";
   echo "\n";
}
$db = new PDO($osu_db);
if (!$db) {
   die($sqliteerror);
}
if (!isset($_GET["addr"])) {
   die("Missing addr parameter");
}
$addr = $_GET["addr"];
$accept = isset($_GET["accept"]) && $_GET["accept"] == "yes";
$res = $db->prepare("SELECT identity FROM pending_tc WHERE mac_addr=?");
$res->execute(array($addr));
$row = $res->fetch();
if (!$row) {
   die("No pending session for the specified MAC address");
}
$identity = $row[0];
if (!$accept) {
   print_header();
   echo "Accept the following terms and conditions by clicking here: Accept
\n
\n";
   readfile($t_c_file);
} else {
   $res = $db->prepare("UPDATE users SET t_c_timestamp=? WHERE identity=?");
   if (!$res->execute(array($t_c_timestamp, $identity))) {
      die("Failed to update user account.");
   }
   $res = $db->prepare("DELETE FROM pending_tc WHERE mac_addr=?");
   $res->execute(array($addr));
   $fp = fsockopen($hostapd_ctrl);
   if (!$fp) {
      die("Could not connect to hostapd(AS)");
   }
   fwrite($fp, "DAC_REQUEST coa $addr t_c_clear");
   fclose($fp);
   $waiting = true;
   $ack = false;
   for ($i = 1; $i <= 10; $i++) {
      $res = $db->prepare("SELECT waiting_coa_ack,coa_ack_received FROM current_sessions WHERE mac_addr=?");
      $res->execute(array($addr));
      $row = $res->fetch();
      if (!$row) {
         die("No current session for the specified MAC address");
      }
      if (strlen($row[0]) > 0)
            $waiting = $row[0] == 1;
      if (strlen($row[1]) > 0)
            $ack = $row[1] == 1;
      $res->closeCursor();
      if (!$waiting)
         break;
      sleep(1);
   }
   if ($ack) {
      header('X-WFA-Hotspot20-Filtering: removed');
      print_header();
      echo "Terms and conditions were accepted.
\n";
      echo "Filtering disabled.
\n";
   } else {
      print_header();
      echo "Failed to disable filtering.
\n";
   }
}
?>