non working experimental status
This commit is contained in:
@@ -24,12 +24,14 @@
|
||||
function login($user, $pubkey) {
|
||||
try {
|
||||
require_once("opendb.php");
|
||||
if (!$db) error("database access failed");
|
||||
if ($user=="safechat") error("username safechat is reserved for server");
|
||||
$verify = gnupg_import($pgp, $pubkey);
|
||||
if (!$verify) error("wrong identity");
|
||||
//$verify = gnupg_import($pgp, $pubkey);
|
||||
//if (!$verify) error("wrong identity");
|
||||
$user = $db->real_escape_string($user);
|
||||
$pubkey = $db->real_escape_string($pubkey);
|
||||
$q = $db->query("select * from user where name='$user' and pubkey='$pubkey';");
|
||||
if (!$q) error("database query failed");
|
||||
if ($q->num_rows==1) {
|
||||
success("user $user found on server");
|
||||
} elseif ($q->num_rows==0) {
|
||||
|
@@ -11,6 +11,7 @@
|
||||
|
||||
mysqli_report(MYSQLI_REPORT_STRICT);
|
||||
require_once("functions.php");
|
||||
/*
|
||||
try {
|
||||
if (!isset($pgp)) {
|
||||
$pgp = gnupg_init();
|
||||
@@ -19,17 +20,23 @@ try {
|
||||
} catch (Exception $e) {
|
||||
error('cannot start pgp on server');
|
||||
}
|
||||
*/
|
||||
try {
|
||||
if (!isset($db)) {
|
||||
$db = new mysqli("mysql", "root", $_SERVER["MYSQL_ENV_MYSQL_ROOT_PASSWORD"]);
|
||||
if (!$db) error("database connection failed on server");
|
||||
$db->query("create database if not exists safechat;");
|
||||
$db->select_db("safechat");
|
||||
if (!$db) error("cannot create database for safechat");
|
||||
$db->query(file_get_contents("schema.sql"));
|
||||
if (!$db) error("cannot create database tables");
|
||||
$db = new mysqli("mysql", "root", $_SERVER["MYSQL_ENV_MYSQL_ROOT_PASSWORD"]);
|
||||
if (!$db) error("database connection failed on server");
|
||||
$db->query("create database if not exists safechat;");
|
||||
if (!$db) error("cannot create database");
|
||||
$db->select_db("safechat");
|
||||
if (!$db) error("cannot select database");
|
||||
$query = file_get_contents("schema.sql");
|
||||
if (!$query) error("cannot load database schema");
|
||||
foreach (split(";\n", $query) as $create) {
|
||||
if ($create) {
|
||||
$db->query($create);
|
||||
if (!$db) error("cannot create database tables");
|
||||
}
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
error('database error on server');
|
||||
error('database error on server: '+$e->getMessage());
|
||||
}
|
||||
?>
|
||||
|
@@ -294,7 +294,8 @@ function createkeypair(user, pwd) {
|
||||
localStorage["privKey"] = keyPair.privateKeyArmored;
|
||||
login();
|
||||
}).catch(function(e) {
|
||||
error(e);
|
||||
console.log(e.stack);
|
||||
error("generating key pairs failed");
|
||||
});
|
||||
}
|
||||
|
||||
@@ -668,20 +669,37 @@ function newuser() {
|
||||
});
|
||||
}
|
||||
|
||||
/// Check if local storage is available
|
||||
function checkLocalStorage() {
|
||||
var test = 'test';
|
||||
try {
|
||||
localStorage.setItem(test, test);
|
||||
localStorage.removeItem(test);
|
||||
return true;
|
||||
} catch(e) {
|
||||
status("<p>No access to local storage. Please allow "+window.location.hostname
|
||||
+" to access localhost, i.e. do not block cookies.<p>");
|
||||
error("local storage not available");
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/// Initial Function: Startup
|
||||
/** Decide whether to login or to create a new user */
|
||||
function start() {
|
||||
$("#menu").hide();
|
||||
try {
|
||||
status("Starting up ...");
|
||||
if (!userid()) {
|
||||
newuser();
|
||||
} else {
|
||||
login();
|
||||
if (checkLocalStorage())
|
||||
try {
|
||||
status("Starting up ...");
|
||||
if (!userid()) {
|
||||
newuser();
|
||||
} else {
|
||||
login();
|
||||
}
|
||||
} catch (m) {
|
||||
console.log(m.stack);
|
||||
error(m);
|
||||
}
|
||||
} catch (m) {
|
||||
error(m);
|
||||
}
|
||||
}
|
||||
|
||||
/// On Load, Call @ref start
|
||||
|
@@ -29,8 +29,10 @@ function send($user, $msg) {
|
||||
if (strlen($_REQUEST['msg'])>100000) error("message is too long");
|
||||
$q = $db->query("select pubkey from user where name='$user';");
|
||||
if (!$q || $q->num_rows!=1) error("user not found on server");
|
||||
/*
|
||||
$pubkey = gnupg_import($pgp, $q->fetch_row()[0]);
|
||||
if (!$pubkey) error("wrong identity");
|
||||
*/
|
||||
$q = $db->query("insert into message (user, msg) values ('$user', '$msg');");
|
||||
if (!$q) {
|
||||
error_log("Error storing message: ".$db->error);
|
||||
|
Reference in New Issue
Block a user