From 5eb2038f29b888b63bddb86d7e1702d9982acf9c Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Tue, 21 Nov 2023 03:11:12 +0000 Subject: [PATCH 01/28] A version that won't build --- src/hosted_db_runner/.gitignore | 1 + src/hosted_db_runner/Cargo.lock | 157 +++++++++++++++++++++++++++++++ src/hosted_db_runner/Cargo.toml | 9 ++ src/hosted_db_runner/src/main.rs | 58 ++++++++++++ 4 files changed, 225 insertions(+) create mode 100644 src/hosted_db_runner/.gitignore create mode 100644 src/hosted_db_runner/Cargo.lock create mode 100644 src/hosted_db_runner/Cargo.toml create mode 100644 src/hosted_db_runner/src/main.rs diff --git a/src/hosted_db_runner/.gitignore b/src/hosted_db_runner/.gitignore new file mode 100644 index 00000000..9f970225 --- /dev/null +++ b/src/hosted_db_runner/.gitignore @@ -0,0 +1 @@ +target/ \ No newline at end of file diff --git a/src/hosted_db_runner/Cargo.lock b/src/hosted_db_runner/Cargo.lock new file mode 100644 index 00000000..a9108a28 --- /dev/null +++ b/src/hosted_db_runner/Cargo.lock @@ -0,0 +1,157 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ahash" +version = "0.7.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "fallible-iterator" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" + +[[package]] +name = "fallible-streaming-iterator" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" + +[[package]] +name = "getrandom" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "hashbrown" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +dependencies = [ + "ahash", +] + +[[package]] +name = "hashlink" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" +dependencies = [ + "hashbrown", +] + +[[package]] +name = "hosted_db_runner" +version = "0.1.0" +dependencies = [ + "rusqlite", +] + +[[package]] +name = "libc" +version = "0.2.150" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" + +[[package]] +name = "libsqlite3-sys" +version = "0.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cafc7c74096c336d9d27145f7ebd4f4b6f95ba16aa5a282387267e6925cb58" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "rusqlite" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ba4d3462c8b2e4d7f4fcfcf2b296dc6b65404fbbc7b63daa37fd485c149daf7" +dependencies = [ + "bitflags", + "fallible-iterator", + "fallible-streaming-iterator", + "hashlink", + "libsqlite3-sys", + "memchr", + "smallvec", +] + +[[package]] +name = "smallvec" +version = "1.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" diff --git a/src/hosted_db_runner/Cargo.toml b/src/hosted_db_runner/Cargo.toml new file mode 100644 index 00000000..a3f4bef6 --- /dev/null +++ b/src/hosted_db_runner/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "hosted_db_runner" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +rusqlite = { version = "0.26.3", features = ["bundled", "wasm32-wasi-vfs"] } \ No newline at end of file diff --git a/src/hosted_db_runner/src/main.rs b/src/hosted_db_runner/src/main.rs new file mode 100644 index 00000000..2fd54279 --- /dev/null +++ b/src/hosted_db_runner/src/main.rs @@ -0,0 +1,58 @@ +use serde::{Deserialize, Serialize}; +use std::path::PathBuf; +use std::vec::Vec; +//use rusqlite; +//use rusqlite::types::ValueRef; + +use sqlx::{ + migrate, + postgres::PgPoolOptions, + sqlite::{SqliteConnectOptions, SqlitePoolOptions}, + Pool, Postgres, Sqlite, +}; + + + +#[derive(Serialize, Debug, Deserialize)] +pub struct QueryResult { + pub fields: Vec, + pub rows: Vec>>, +} + +pub fn run_sqlite_query(path: &PathBuf, query: &str) -> Result { + let conn = rusqlite::Connection::open(path)?; + let mut prepared = conn.prepare(query)?; + let num_columns = prepared.column_count(); + let mut fields: Vec = Vec::new(); + for column_index in 0..num_columns { + fields.push(String::from(prepared.column_name(column_index)?)) + } + + let mut rows = prepared.query([])?; + let mut results: Vec>> = Vec::new(); + while let Some(row) = rows.next()? { + let mut result: Vec> = Vec::new(); + for column_index in 0..num_columns { + let column_value = row.get_ref(column_index)?; + result.push(match column_value { + ValueRef::Null => None, + ValueRef::Integer(i) => Some(i.to_string()), + ValueRef::Real(f) => Some(f.to_string()), + ValueRef::Text(_t) => Some(column_value.as_str()?.to_string()), + ValueRef::Blob(_b) => { + Some(std::str::from_utf8(column_value.as_bytes()?)?.to_string()) + } + }); + } + results.push(result); + } + Ok(QueryResult { + fields, + rows: results, + }) +} + + +fn main() -> std::io::Result<()> { + println!("{:#?}", run_sqlite_query(&PathBuf::from("testing.sqlite"), "CREATE TABLE TABLE moo (hello varchar(20));")?); +} From 7b1efe393bfe649ea9e7a0c59b9db747da880ab8 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Tue, 21 Nov 2023 03:11:56 +0000 Subject: [PATCH 02/28] Uncomment --- src/hosted_db_runner/src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hosted_db_runner/src/main.rs b/src/hosted_db_runner/src/main.rs index 2fd54279..1279aaea 100644 --- a/src/hosted_db_runner/src/main.rs +++ b/src/hosted_db_runner/src/main.rs @@ -1,8 +1,8 @@ use serde::{Deserialize, Serialize}; use std::path::PathBuf; use std::vec::Vec; -//use rusqlite; -//use rusqlite::types::ValueRef; +use rusqlite; +use rusqlite::types::ValueRef; use sqlx::{ migrate, From 591f7cd7c5c1fc574a5937d15eeb44077723d367 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Tue, 21 Nov 2023 03:12:48 +0000 Subject: [PATCH 03/28] Newline --- src/hosted_db_runner/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hosted_db_runner/.gitignore b/src/hosted_db_runner/.gitignore index 9f970225..2f7896d1 100644 --- a/src/hosted_db_runner/.gitignore +++ b/src/hosted_db_runner/.gitignore @@ -1 +1 @@ -target/ \ No newline at end of file +target/ From f1e9f40b829d2d808e9e7e2832494da6f9074e0f Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Tue, 21 Nov 2023 03:13:15 +0000 Subject: [PATCH 04/28] Newline --- src/hosted_db_runner/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hosted_db_runner/Cargo.toml b/src/hosted_db_runner/Cargo.toml index a3f4bef6..446d30ac 100644 --- a/src/hosted_db_runner/Cargo.toml +++ b/src/hosted_db_runner/Cargo.toml @@ -6,4 +6,4 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rusqlite = { version = "0.26.3", features = ["bundled", "wasm32-wasi-vfs"] } \ No newline at end of file +rusqlite = { version = "0.26.3", features = ["bundled", "wasm32-wasi-vfs"] } From 1231f243a30ebfd1e93868c2ab0de05a0c43884c Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Wed, 22 Nov 2023 00:17:30 +0000 Subject: [PATCH 05/28] Compiles --- src/hosted_db_runner/Cargo.lock | 56 +++++++++++++++++++++++ src/hosted_db_runner/Cargo.toml | 1 + src/hosted_db_runner/build_wasi.sh | 33 ++++++++++++++ src/hosted_db_runner/src/main.rs | 73 ++++++++++++++++++++++++------ 4 files changed, 148 insertions(+), 15 deletions(-) create mode 100755 src/hosted_db_runner/build_wasi.sh diff --git a/src/hosted_db_runner/Cargo.lock b/src/hosted_db_runner/Cargo.lock index a9108a28..4bdc2c51 100644 --- a/src/hosted_db_runner/Cargo.lock +++ b/src/hosted_db_runner/Cargo.lock @@ -80,6 +80,7 @@ name = "hosted_db_runner" version = "0.1.0" dependencies = [ "rusqlite", + "serde", ] [[package]] @@ -117,6 +118,24 @@ version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +[[package]] +name = "proc-macro2" +version = "1.0.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" +dependencies = [ + "proc-macro2", +] + [[package]] name = "rusqlite" version = "0.26.3" @@ -132,12 +151,49 @@ dependencies = [ "smallvec", ] +[[package]] +name = "serde" +version = "1.0.193" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.193" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "smallvec" version = "1.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" +[[package]] +name = "syn" +version = "2.0.39" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + [[package]] name = "vcpkg" version = "0.2.15" diff --git a/src/hosted_db_runner/Cargo.toml b/src/hosted_db_runner/Cargo.toml index 446d30ac..7b7040d1 100644 --- a/src/hosted_db_runner/Cargo.toml +++ b/src/hosted_db_runner/Cargo.toml @@ -7,3 +7,4 @@ edition = "2021" [dependencies] rusqlite = { version = "0.26.3", features = ["bundled", "wasm32-wasi-vfs"] } +serde = { version = "1.0", features = ["derive"] } diff --git a/src/hosted_db_runner/build_wasi.sh b/src/hosted_db_runner/build_wasi.sh new file mode 100755 index 00000000..a2d2ee6b --- /dev/null +++ b/src/hosted_db_runner/build_wasi.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash + +# Also: apt install llvm-dev libclang-dev clang + +export WASI_VERSION=20 +export WASI_VERSION_FULL=20.0 +export WASI_SDK_PATH=`pwd`/wasi-sdk-${WASI_VERSION_FULL} +export WASI_LIB=`pwd`/wasi-sdk-${WASI_VERSION_FULL}/lib + +export WASI_SYSROOT="${WASI_SDK_PATH}/share/wasi-sysroot" +export CC="${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SYSROOT}" +export AR="${WASI_SDK_PATH}/bin/llvm-ar" +export CC_wasm32_wasi="${CC}" +export CARGO_TARGET_WASM32_WASI_LINKER="${WASI_SDK_PATH}/bin/clang" +export LIBCLANG_PATH=${WASI_LIB} +export RUSTFLAGS="-Clink-arg=-L${WASI_CLANG_LIB} -Clink-arg=-lclang_rt.builtins-wasm32" + +export LIBSQLITE3_FLAGS="\ + -DSQLITE_OS_OTHER \ + -USQLITE_TEMP_STORE \ + -DSQLITE_TEMP_STORE=3 \ + -USQLITE_THREADSAFE \ + -DSQLITE_THREADSAFE=0 \ + -DSQLITE_OMIT_LOCALTIME \ + -DSQLITE_OMIT_LOAD_EXTENSION \ + -DLONGDOUBLE_TYPE=double" + +export RUST_BACKTRACE=1 + +wget -nc "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz" +tar xvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz + +cargo build --target "wasm32-wasi" --verbose diff --git a/src/hosted_db_runner/src/main.rs b/src/hosted_db_runner/src/main.rs index 1279aaea..af1fdd33 100644 --- a/src/hosted_db_runner/src/main.rs +++ b/src/hosted_db_runner/src/main.rs @@ -1,17 +1,9 @@ +use rusqlite; +use rusqlite::types::ValueRef; use serde::{Deserialize, Serialize}; use std::path::PathBuf; +use std::string; use std::vec::Vec; -use rusqlite; -use rusqlite::types::ValueRef; - -use sqlx::{ - migrate, - postgres::PgPoolOptions, - sqlite::{SqliteConnectOptions, SqlitePoolOptions}, - Pool, Postgres, Sqlite, -}; - - #[derive(Serialize, Debug, Deserialize)] pub struct QueryResult { @@ -19,7 +11,52 @@ pub struct QueryResult { pub rows: Vec>>, } -pub fn run_sqlite_query(path: &PathBuf, query: &str) -> Result { +#[derive(Debug, Deserialize, Serialize)] +pub struct AybError { + pub message: String, +} + +impl From for AybError { + fn from(cause: std::io::Error) -> Self { + AybError { + message: format!("IO error: {:?}", cause), + } + } +} + +impl From for AybError { + fn from(cause: rusqlite::Error) -> Self { + AybError { + message: format!("{:?}", cause), + } + } +} + +impl From for AybError { + fn from(cause: rusqlite::types::FromSqlError) -> Self { + AybError { + message: format!("{:?}", cause), + } + } +} + +impl From for AybError { + fn from(cause: std::str::Utf8Error) -> Self { + AybError { + message: format!("{:?}", cause), + } + } +} + +impl From for AybError { + fn from(cause: string::FromUtf8Error) -> Self { + AybError { + message: format!("{:?}", cause), + } + } +} + +pub fn run_sqlite_query(path: &PathBuf, query: &str) -> Result { let conn = rusqlite::Connection::open(path)?; let mut prepared = conn.prepare(query)?; let num_columns = prepared.column_count(); @@ -52,7 +89,13 @@ pub fn run_sqlite_query(path: &PathBuf, query: &str) -> Result std::io::Result<()> { - println!("{:#?}", run_sqlite_query(&PathBuf::from("testing.sqlite"), "CREATE TABLE TABLE moo (hello varchar(20));")?); +fn main() -> Result<(), AybError> { + println!( + "{:#?}", + run_sqlite_query( + &PathBuf::from("testing.sqlite"), + "CREATE TABLE TABLE moo (hello varchar(20));" + )? + ); + Ok(()) } From 5225ec8c4eddbdb0a6aa7abac291257992855e8b Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Wed, 22 Nov 2023 00:19:06 +0000 Subject: [PATCH 06/28] No need for only temp --- src/hosted_db_runner/build_wasi.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hosted_db_runner/build_wasi.sh b/src/hosted_db_runner/build_wasi.sh index a2d2ee6b..c02b830a 100755 --- a/src/hosted_db_runner/build_wasi.sh +++ b/src/hosted_db_runner/build_wasi.sh @@ -17,13 +17,13 @@ export RUSTFLAGS="-Clink-arg=-L${WASI_CLANG_LIB} -Clink-arg=-lclang_rt.builtins- export LIBSQLITE3_FLAGS="\ -DSQLITE_OS_OTHER \ - -USQLITE_TEMP_STORE \ - -DSQLITE_TEMP_STORE=3 \ -USQLITE_THREADSAFE \ -DSQLITE_THREADSAFE=0 \ -DSQLITE_OMIT_LOCALTIME \ -DSQLITE_OMIT_LOAD_EXTENSION \ -DLONGDOUBLE_TYPE=double" +# -USQLITE_TEMP_STORE \ +# -DSQLITE_TEMP_STORE=3 \ export RUST_BACKTRACE=1 From 4b863918045dfadcd74aee0b968198e4d7d7870e Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Sat, 25 Nov 2023 16:59:48 +0000 Subject: [PATCH 07/28] Compiles AND runs --- src/hosted_db_runner/Cargo.lock | 74 +++++++++++++++--------------- src/hosted_db_runner/Cargo.toml | 3 +- src/hosted_db_runner/build_wasi.sh | 18 +------- src/hosted_db_runner/src/main.rs | 2 +- 4 files changed, 42 insertions(+), 55 deletions(-) diff --git a/src/hosted_db_runner/Cargo.lock b/src/hosted_db_runner/Cargo.lock index 4bdc2c51..d4e0c3e3 100644 --- a/src/hosted_db_runner/Cargo.lock +++ b/src/hosted_db_runner/Cargo.lock @@ -4,20 +4,27 @@ version = 3 [[package]] name = "ahash" -version = "0.7.7" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" dependencies = [ - "getrandom", + "cfg-if", "once_cell", "version_check", + "zerocopy", ] +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + [[package]] name = "bitflags" -version = "1.3.2" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" [[package]] name = "cc" @@ -46,31 +53,21 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" -[[package]] -name = "getrandom" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - [[package]] name = "hashbrown" -version = "0.11.2" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" dependencies = [ "ahash", + "allocator-api2", ] [[package]] name = "hashlink" -version = "0.7.0" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" +checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" dependencies = [ "hashbrown", ] @@ -91,21 +88,14 @@ checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" [[package]] name = "libsqlite3-sys" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cafc7c74096c336d9d27145f7ebd4f4b6f95ba16aa5a282387267e6925cb58" +version = "0.26.0" +source = "git+https://github.com/marcua/rusqlite.git?branch=wasi-example#5534eb93c63a5f199583224bbf284d42e11ea09d" dependencies = [ "cc", "pkg-config", "vcpkg", ] -[[package]] -name = "memchr" -version = "2.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" - [[package]] name = "once_cell" version = "1.18.0" @@ -138,16 +128,14 @@ dependencies = [ [[package]] name = "rusqlite" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ba4d3462c8b2e4d7f4fcfcf2b296dc6b65404fbbc7b63daa37fd485c149daf7" +version = "0.29.0" +source = "git+https://github.com/marcua/rusqlite.git?branch=wasi-example#5534eb93c63a5f199583224bbf284d42e11ea09d" dependencies = [ "bitflags", "fallible-iterator", "fallible-streaming-iterator", "hashlink", "libsqlite3-sys", - "memchr", "smallvec", ] @@ -207,7 +195,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" +name = "zerocopy" +version = "0.7.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/src/hosted_db_runner/Cargo.toml b/src/hosted_db_runner/Cargo.toml index 7b7040d1..a839d96c 100644 --- a/src/hosted_db_runner/Cargo.toml +++ b/src/hosted_db_runner/Cargo.toml @@ -6,5 +6,6 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rusqlite = { version = "0.26.3", features = ["bundled", "wasm32-wasi-vfs"] } +# Until this PR is merged: https://github.com/rusqlite/rusqlite/pull/1332 +rusqlite = { git = "https://github.com/marcua/rusqlite.git", branch = "wasi-example", features = ["bundled"] } serde = { version = "1.0", features = ["derive"] } diff --git a/src/hosted_db_runner/build_wasi.sh b/src/hosted_db_runner/build_wasi.sh index c02b830a..65a24f4e 100755 --- a/src/hosted_db_runner/build_wasi.sh +++ b/src/hosted_db_runner/build_wasi.sh @@ -6,28 +6,12 @@ export WASI_VERSION=20 export WASI_VERSION_FULL=20.0 export WASI_SDK_PATH=`pwd`/wasi-sdk-${WASI_VERSION_FULL} export WASI_LIB=`pwd`/wasi-sdk-${WASI_VERSION_FULL}/lib - export WASI_SYSROOT="${WASI_SDK_PATH}/share/wasi-sysroot" export CC="${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SYSROOT}" -export AR="${WASI_SDK_PATH}/bin/llvm-ar" export CC_wasm32_wasi="${CC}" -export CARGO_TARGET_WASM32_WASI_LINKER="${WASI_SDK_PATH}/bin/clang" -export LIBCLANG_PATH=${WASI_LIB} -export RUSTFLAGS="-Clink-arg=-L${WASI_CLANG_LIB} -Clink-arg=-lclang_rt.builtins-wasm32" - -export LIBSQLITE3_FLAGS="\ - -DSQLITE_OS_OTHER \ - -USQLITE_THREADSAFE \ - -DSQLITE_THREADSAFE=0 \ - -DSQLITE_OMIT_LOCALTIME \ - -DSQLITE_OMIT_LOAD_EXTENSION \ - -DLONGDOUBLE_TYPE=double" -# -USQLITE_TEMP_STORE \ -# -DSQLITE_TEMP_STORE=3 \ - export RUST_BACKTRACE=1 wget -nc "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz" tar xvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz -cargo build --target "wasm32-wasi" --verbose +cargo build --target "wasm32-wasi" diff --git a/src/hosted_db_runner/src/main.rs b/src/hosted_db_runner/src/main.rs index af1fdd33..6f85769c 100644 --- a/src/hosted_db_runner/src/main.rs +++ b/src/hosted_db_runner/src/main.rs @@ -94,7 +94,7 @@ fn main() -> Result<(), AybError> { "{:#?}", run_sqlite_query( &PathBuf::from("testing.sqlite"), - "CREATE TABLE TABLE moo (hello varchar(20));" + "CREATE TABLE moo (hello varchar(20));" )? ); Ok(()) From c2382a15bf9ef83664c4ce6651d0f9bda0d8819f Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Tue, 5 Dec 2023 00:11:29 +0000 Subject: [PATCH 08/28] Move toward nsjail --- src/hosted_db_runner/Cargo.toml | 3 +- src/hosted_db_runner/build_nsjail.sh | 9 +++ src/hosted_db_runner/src/lib.rs | 90 +++++++++++++++++++++++ src/hosted_db_runner/src/main.rs | 106 +++------------------------ 4 files changed, 109 insertions(+), 99 deletions(-) create mode 100755 src/hosted_db_runner/build_nsjail.sh create mode 100644 src/hosted_db_runner/src/lib.rs diff --git a/src/hosted_db_runner/Cargo.toml b/src/hosted_db_runner/Cargo.toml index a839d96c..e85ec851 100644 --- a/src/hosted_db_runner/Cargo.toml +++ b/src/hosted_db_runner/Cargo.toml @@ -6,6 +6,5 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -# Until this PR is merged: https://github.com/rusqlite/rusqlite/pull/1332 -rusqlite = { git = "https://github.com/marcua/rusqlite.git", branch = "wasi-example", features = ["bundled"] } +rusqlite = { version = "0.30.0" } serde = { version = "1.0", features = ["derive"] } diff --git a/src/hosted_db_runner/build_nsjail.sh b/src/hosted_db_runner/build_nsjail.sh new file mode 100755 index 00000000..12279b68 --- /dev/null +++ b/src/hosted_db_runner/build_nsjail.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +git clone https://github.com/google/nsjail.git nsjail-checkout +cd nsjail-checkout +make +mv nsjail .. +cd .. +rm -rf nsjail-checkout + diff --git a/src/hosted_db_runner/src/lib.rs b/src/hosted_db_runner/src/lib.rs new file mode 100644 index 00000000..e774b3d5 --- /dev/null +++ b/src/hosted_db_runner/src/lib.rs @@ -0,0 +1,90 @@ +use rusqlite; +use rusqlite::types::ValueRef; +use serde::{Deserialize, Serialize}; +use std::path::PathBuf; +use std::string; +use std::vec::Vec; + +#[derive(Serialize, Debug, Deserialize)] +pub struct QueryResult { + pub fields: Vec, + pub rows: Vec>>, +} + +#[derive(Debug, Deserialize, Serialize)] +pub struct AybError { + pub message: String, +} + +impl From for AybError { + fn from(cause: std::io::Error) -> Self { + AybError { + message: format!("IO error: {:?}", cause), + } + } +} + +impl From for AybError { + fn from(cause: rusqlite::Error) -> Self { + AybError { + message: format!("{:?}", cause), + } + } +} + +impl From for AybError { + fn from(cause: rusqlite::types::FromSqlError) -> Self { + AybError { + message: format!("{:?}", cause), + } + } +} + +impl From for AybError { + fn from(cause: std::str::Utf8Error) -> Self { + AybError { + message: format!("{:?}", cause), + } + } +} + +impl From for AybError { + fn from(cause: string::FromUtf8Error) -> Self { + AybError { + message: format!("{:?}", cause), + } + } +} + +pub fn run_sqlite_query(path: &PathBuf, query: &str) -> Result { + let conn = rusqlite::Connection::open(path)?; + let mut prepared = conn.prepare(query)?; + let num_columns = prepared.column_count(); + let mut fields: Vec = Vec::new(); + for column_index in 0..num_columns { + fields.push(String::from(prepared.column_name(column_index)?)) + } + + let mut rows = prepared.query([])?; + let mut results: Vec>> = Vec::new(); + while let Some(row) = rows.next()? { + let mut result: Vec> = Vec::new(); + for column_index in 0..num_columns { + let column_value = row.get_ref(column_index)?; + result.push(match column_value { + ValueRef::Null => None, + ValueRef::Integer(i) => Some(i.to_string()), + ValueRef::Real(f) => Some(f.to_string()), + ValueRef::Text(_t) => Some(column_value.as_str()?.to_string()), + ValueRef::Blob(_b) => { + Some(std::str::from_utf8(column_value.as_bytes()?)?.to_string()) + } + }); + } + results.push(result); + } + Ok(QueryResult { + fields, + rows: results, + }) +} diff --git a/src/hosted_db_runner/src/main.rs b/src/hosted_db_runner/src/main.rs index 6f85769c..bd5a376f 100644 --- a/src/hosted_db_runner/src/main.rs +++ b/src/hosted_db_runner/src/main.rs @@ -1,101 +1,13 @@ -use rusqlite; -use rusqlite::types::ValueRef; -use serde::{Deserialize, Serialize}; +use hosted_db_runner::{run_sqlite_query, AybError, QueryResult}; +use std::env; use std::path::PathBuf; -use std::string; -use std::vec::Vec; -#[derive(Serialize, Debug, Deserialize)] -pub struct QueryResult { - pub fields: Vec, - pub rows: Vec>>, -} - -#[derive(Debug, Deserialize, Serialize)] -pub struct AybError { - pub message: String, -} - -impl From for AybError { - fn from(cause: std::io::Error) -> Self { - AybError { - message: format!("IO error: {:?}", cause), - } - } -} - -impl From for AybError { - fn from(cause: rusqlite::Error) -> Self { - AybError { - message: format!("{:?}", cause), - } - } -} - -impl From for AybError { - fn from(cause: rusqlite::types::FromSqlError) -> Self { - AybError { - message: format!("{:?}", cause), - } +fn main() { + let args: Vec = env::args().collect(); + let db_file = &args[1]; + let query = (&args[2..]).to_vec(); + match run_sqlite_query(&PathBuf::from(db_file), &query.join(" ")) { + Ok(result) => println!("{:?}", result), + Err(error) => eprintln!("{:?}", error), } } - -impl From for AybError { - fn from(cause: std::str::Utf8Error) -> Self { - AybError { - message: format!("{:?}", cause), - } - } -} - -impl From for AybError { - fn from(cause: string::FromUtf8Error) -> Self { - AybError { - message: format!("{:?}", cause), - } - } -} - -pub fn run_sqlite_query(path: &PathBuf, query: &str) -> Result { - let conn = rusqlite::Connection::open(path)?; - let mut prepared = conn.prepare(query)?; - let num_columns = prepared.column_count(); - let mut fields: Vec = Vec::new(); - for column_index in 0..num_columns { - fields.push(String::from(prepared.column_name(column_index)?)) - } - - let mut rows = prepared.query([])?; - let mut results: Vec>> = Vec::new(); - while let Some(row) = rows.next()? { - let mut result: Vec> = Vec::new(); - for column_index in 0..num_columns { - let column_value = row.get_ref(column_index)?; - result.push(match column_value { - ValueRef::Null => None, - ValueRef::Integer(i) => Some(i.to_string()), - ValueRef::Real(f) => Some(f.to_string()), - ValueRef::Text(_t) => Some(column_value.as_str()?.to_string()), - ValueRef::Blob(_b) => { - Some(std::str::from_utf8(column_value.as_bytes()?)?.to_string()) - } - }); - } - results.push(result); - } - Ok(QueryResult { - fields, - rows: results, - }) -} - -fn main() -> Result<(), AybError> { - println!( - "{:#?}", - run_sqlite_query( - &PathBuf::from("testing.sqlite"), - "CREATE TABLE moo (hello varchar(20));" - )? - ); - Ok(()) -} From e38f42811b59706f4f0cd340e54047a6f5c23e8e Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Sat, 9 Dec 2023 19:50:44 +0000 Subject: [PATCH 09/28] Make room for nsjail, but still as a noop --- Cargo.lock | 9 +++++++ Cargo.toml | 1 + src/error.rs | 9 +++++++ src/hosted_db.rs | 20 ++++++++++++-- src/hosted_db/sqlite.rs | 45 ++++++++++---------------------- src/hosted_db_runner/Cargo.lock | 46 ++++++++++++--------------------- src/hosted_db_runner/Cargo.toml | 4 +-- src/hosted_db_runner/src/lib.rs | 2 +- src/http/config.rs | 1 + src/http/endpoints/query.rs | 2 +- src/http/structs.rs | 6 +++++ 11 files changed, 77 insertions(+), 68 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7d5eba67..7bef7280 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -367,6 +367,7 @@ dependencies = [ "assert-json-diff", "assert_cmd", "async-trait", + "ayb-hosted-db-runner", "clap", "derive_more", "dyn-clone", @@ -387,6 +388,14 @@ dependencies = [ "toml", ] +[[package]] +name = "ayb-hosted-db-runner" +version = "0.1.0" +dependencies = [ + "rusqlite", + "serde", +] + [[package]] name = "backtrace" version = "0.3.67" diff --git a/Cargo.toml b/Cargo.toml index 7a9f9ce0..0998201f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,6 +11,7 @@ license = "Apache-2.0" actix-web = { version = "4.4.0" } actix-web-httpauth = { version = "0.8.1" } async-trait = { version = "0.1.74" } +ayb-hosted-db-runner = { path = "src/hosted_db_runner" } clap = { version = "4.4.8", features = ["cargo", "derive", "env"] } derive_more = { version = "0.99.0" } dyn-clone = { version = "1.0.16" } diff --git a/src/error.rs b/src/error.rs index 8f2907c3..9c5a7751 100644 --- a/src/error.rs +++ b/src/error.rs @@ -17,6 +17,15 @@ pub struct AybError { pub message: String, } +// TODO(marcua): Consider a shared library so AybError can be the same in both crates, or move into the runner library. +impl From for AybError { + fn from(error: ayb_hosted_db_runner::AybError) -> Self { + AybError { + message: error.message, + } + } +} + impl actix_web::error::ResponseError for AybError { fn error_response(&self) -> actix_web::HttpResponse { actix_web::HttpResponse::InternalServerError().json(self) diff --git a/src/hosted_db.rs b/src/hosted_db.rs index 9db1f31b..e92ba78a 100644 --- a/src/hosted_db.rs +++ b/src/hosted_db.rs @@ -4,6 +4,7 @@ mod sqlite; use crate::ayb_db::models::DBType; use crate::error::AybError; use crate::hosted_db::sqlite::run_sqlite_query; +use crate::http::structs::AybConfigIsolation; use prettytable::{format, Cell, Row, Table}; use serde::{Deserialize, Serialize}; use std::path::PathBuf; @@ -53,9 +54,24 @@ impl QueryResult { } } -pub fn run_query(path: &PathBuf, query: &str, db_type: &DBType) -> Result { +// TODO(marcua): Consider a shared library so QueryResult can be the same in both crates, or move into the runner library. +impl From for QueryResult { + fn from(results: ayb_hosted_db_runner::QueryResult) -> Self { + QueryResult { + fields: results.fields, + rows: results.rows, + } + } +} + +pub fn run_query( + path: &PathBuf, + query: &str, + db_type: &DBType, + isolation: &Option, +) -> Result { match db_type { - DBType::Sqlite => Ok(run_sqlite_query(path, query)?), + DBType::Sqlite => Ok(run_sqlite_query(path, query, isolation)?), _ => Err(AybError { message: "Unsupported DB type".to_string(), }), diff --git a/src/hosted_db/sqlite.rs b/src/hosted_db/sqlite.rs index 402aaad3..6c52e90a 100644 --- a/src/hosted_db/sqlite.rs +++ b/src/hosted_db/sqlite.rs @@ -1,38 +1,19 @@ use crate::error::AybError; use crate::hosted_db::QueryResult; -use rusqlite; -use rusqlite::types::ValueRef; +use crate::http::structs::AybConfigIsolation; +use ayb_hosted_db_runner::query_sqlite; use std::path::PathBuf; -pub fn run_sqlite_query(path: &PathBuf, query: &str) -> Result { - let conn = rusqlite::Connection::open(path)?; - let mut prepared = conn.prepare(query)?; - let num_columns = prepared.column_count(); - let mut fields: Vec = Vec::new(); - for column_index in 0..num_columns { - fields.push(String::from(prepared.column_name(column_index)?)) +pub fn run_sqlite_query( + path: &PathBuf, + query: &str, + isolation: &Option, +) -> Result { + match isolation { + Some(isolation) => Ok(QueryResult { + fields: Vec::new(), + rows: Vec::new(), + }), + None => Ok(query_sqlite(path, query)?.into()), } - - let mut rows = prepared.query([])?; - let mut results: Vec>> = Vec::new(); - while let Some(row) = rows.next()? { - let mut result: Vec> = Vec::new(); - for column_index in 0..num_columns { - let column_value = row.get_ref(column_index)?; - result.push(match column_value { - ValueRef::Null => None, - ValueRef::Integer(i) => Some(i.to_string()), - ValueRef::Real(f) => Some(f.to_string()), - ValueRef::Text(_t) => Some(column_value.as_str()?.to_string()), - ValueRef::Blob(_b) => { - Some(std::str::from_utf8(column_value.as_bytes()?)?.to_string()) - } - }); - } - results.push(result); - } - Ok(QueryResult { - fields, - rows: results, - }) } diff --git a/src/hosted_db_runner/Cargo.lock b/src/hosted_db_runner/Cargo.lock index d4e0c3e3..0b9780c9 100644 --- a/src/hosted_db_runner/Cargo.lock +++ b/src/hosted_db_runner/Cargo.lock @@ -20,21 +20,20 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +[[package]] +name = "ayb_hosted_db_runner" +version = "0.1.0" +dependencies = [ + "rusqlite", + "serde", +] + [[package]] name = "bitflags" version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" -[[package]] -name = "cc" -version = "1.0.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] - [[package]] name = "cfg-if" version = "1.0.0" @@ -43,9 +42,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "fallible-iterator" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" [[package]] name = "fallible-streaming-iterator" @@ -72,26 +71,12 @@ dependencies = [ "hashbrown", ] -[[package]] -name = "hosted_db_runner" -version = "0.1.0" -dependencies = [ - "rusqlite", - "serde", -] - -[[package]] -name = "libc" -version = "0.2.150" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" - [[package]] name = "libsqlite3-sys" -version = "0.26.0" -source = "git+https://github.com/marcua/rusqlite.git?branch=wasi-example#5534eb93c63a5f199583224bbf284d42e11ea09d" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" dependencies = [ - "cc", "pkg-config", "vcpkg", ] @@ -128,8 +113,9 @@ dependencies = [ [[package]] name = "rusqlite" -version = "0.29.0" -source = "git+https://github.com/marcua/rusqlite.git?branch=wasi-example#5534eb93c63a5f199583224bbf284d42e11ea09d" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d" dependencies = [ "bitflags", "fallible-iterator", diff --git a/src/hosted_db_runner/Cargo.toml b/src/hosted_db_runner/Cargo.toml index e85ec851..3d16671e 100644 --- a/src/hosted_db_runner/Cargo.toml +++ b/src/hosted_db_runner/Cargo.toml @@ -1,10 +1,10 @@ [package] -name = "hosted_db_runner" +name = "ayb-hosted-db-runner" version = "0.1.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rusqlite = { version = "0.30.0" } +rusqlite = { version = "0.27.0" } serde = { version = "1.0", features = ["derive"] } diff --git a/src/hosted_db_runner/src/lib.rs b/src/hosted_db_runner/src/lib.rs index e774b3d5..c7d11100 100644 --- a/src/hosted_db_runner/src/lib.rs +++ b/src/hosted_db_runner/src/lib.rs @@ -56,7 +56,7 @@ impl From for AybError { } } -pub fn run_sqlite_query(path: &PathBuf, query: &str) -> Result { +pub fn query_sqlite(path: &PathBuf, query: &str) -> Result { let conn = rusqlite::Connection::open(path)?; let mut prepared = conn.prepare(query)?; let num_columns = prepared.column_count(); diff --git a/src/http/config.rs b/src/http/config.rs index 43870c28..b05559c9 100644 --- a/src/http/config.rs +++ b/src/http/config.rs @@ -29,6 +29,7 @@ pub fn default_server_config() -> AybConfig { smtp_username: "login@example.org".to_string(), smtp_password: "the_password".to_string(), }, + isolation: None, } } diff --git a/src/http/endpoints/query.rs b/src/http/endpoints/query.rs index 32262a76..c31b6f70 100644 --- a/src/http/endpoints/query.rs +++ b/src/http/endpoints/query.rs @@ -26,7 +26,7 @@ async fn query( if can_query(&authenticated_entity, &database) { let db_type = DBType::try_from(database.db_type)?; let db_path = database_path(entity_slug, database_slug, &ayb_config.data_path)?; - let result = run_query(&db_path, &query, &db_type)?; + let result = run_query(&db_path, &query, &db_type, &ayb_config.isolation)?; Ok(web::Json(result)) } else { Err(AybError { diff --git a/src/http/structs.rs b/src/http/structs.rs index bdf5c297..4be835bd 100644 --- a/src/http/structs.rs +++ b/src/http/structs.rs @@ -20,6 +20,11 @@ pub struct AybConfigEmail { pub smtp_password: String, } +#[derive(Clone, Serialize, Deserialize)] +pub struct AybConfigIsolation { + pub nsjail_path: String, +} + #[derive(Clone, Serialize, Deserialize)] pub struct AybConfig { pub host: String, @@ -29,6 +34,7 @@ pub struct AybConfig { pub e2e_testing: Option, pub authentication: AybConfigAuthentication, pub email: AybConfigEmail, + pub isolation: Option, } impl AybConfig { From 7d236cac7c7dc3d873cddbadcc9dbfcef806cc0d Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Sat, 9 Dec 2023 23:30:17 +0000 Subject: [PATCH 10/28] Bring in #234 --- Cargo.toml | 4 +- src/hosted_db_runner/Cargo.lock | 94 +++++++++++++++++++-------------- src/hosted_db_runner/Cargo.toml | 2 +- src/hosted_db_runner/src/lib.rs | 10 ++++ 4 files changed, 66 insertions(+), 44 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 0998201f..573b7bdd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -20,14 +20,14 @@ fernet = { version = "0.2.1" } lettre = { version = "0.10.4", features = ["tokio1-native-tls"] } quoted_printable = { version = "0.5.0" } reqwest = { version = "0.11.22", features = ["json"] } -rusqlite = { version = "0.27.0", features = ["bundled"] } +rusqlite = { version = "0.27.0", features = ["bundled", "limits"] } regex = { version = "1.10.2"} serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0.108" } serde_repr = { version = "0.1.17" } sqlx = { version = "0.6.3", features = ["runtime-actix-native-tls", "postgres", "sqlite"] } toml = { version = "0.8.8" } -tokio = { version = "1.34.0", features = ["macros", "rt"] } +tokio = { version = "1.34.0", features = ["macros", "process", "rt"] } prefixed-api-key = { version = "0.1.0", features = ["sha2"]} prettytable-rs = { version = "0.10.0"} diff --git a/src/hosted_db_runner/Cargo.lock b/src/hosted_db_runner/Cargo.lock index 0b9780c9..a41e4077 100644 --- a/src/hosted_db_runner/Cargo.lock +++ b/src/hosted_db_runner/Cargo.lock @@ -4,24 +4,17 @@ version = 3 [[package]] name = "ahash" -version = "0.8.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" dependencies = [ - "cfg-if", + "getrandom", "once_cell", "version_check", - "zerocopy", ] [[package]] -name = "allocator-api2" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" - -[[package]] -name = "ayb_hosted_db_runner" +name = "ayb-hosted-db-runner" version = "0.1.0" dependencies = [ "rusqlite", @@ -30,9 +23,18 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.4.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] [[package]] name = "cfg-if" @@ -42,9 +44,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "fallible-iterator" -version = "0.3.0" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" +checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" [[package]] name = "fallible-streaming-iterator" @@ -52,35 +54,58 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" +[[package]] +name = "getrandom" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + [[package]] name = "hashbrown" -version = "0.14.2" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" dependencies = [ "ahash", - "allocator-api2", ] [[package]] name = "hashlink" -version = "0.8.4" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" dependencies = [ "hashbrown", ] +[[package]] +name = "libc" +version = "0.2.150" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" + [[package]] name = "libsqlite3-sys" -version = "0.27.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716" +checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" dependencies = [ + "cc", "pkg-config", "vcpkg", ] +[[package]] +name = "memchr" +version = "2.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" + [[package]] name = "once_cell" version = "1.18.0" @@ -113,15 +138,16 @@ dependencies = [ [[package]] name = "rusqlite" -version = "0.30.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a78046161564f5e7cd9008aff3b2990b3850dc8e0349119b98e8f251e099f24d" +checksum = "85127183a999f7db96d1a976a309eebbfb6ea3b0b400ddd8340190129de6eb7a" dependencies = [ "bitflags", "fallible-iterator", "fallible-streaming-iterator", "hashlink", "libsqlite3-sys", + "memchr", "smallvec", ] @@ -181,21 +207,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" [[package]] -name = "zerocopy" -version = "0.7.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e415490559a91254a2979b4829267a57d2fcd741a98eee8b722fb57289aa0" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.26" +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7e48ccf166952882ca8bd778a43502c64f33bf94c12ebe2a7f08e5a0f6689f" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" diff --git a/src/hosted_db_runner/Cargo.toml b/src/hosted_db_runner/Cargo.toml index 3d16671e..ad4cdb0a 100644 --- a/src/hosted_db_runner/Cargo.toml +++ b/src/hosted_db_runner/Cargo.toml @@ -6,5 +6,5 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -rusqlite = { version = "0.27.0" } +rusqlite = { version = "0.27.0", features = ["bundled", "limits"] } serde = { version = "1.0", features = ["derive"] } diff --git a/src/hosted_db_runner/src/lib.rs b/src/hosted_db_runner/src/lib.rs index c7d11100..349a8b68 100644 --- a/src/hosted_db_runner/src/lib.rs +++ b/src/hosted_db_runner/src/lib.rs @@ -1,4 +1,6 @@ use rusqlite; +use rusqlite::config::DbConfig; +use rusqlite::limits::Limit; use rusqlite::types::ValueRef; use serde::{Deserialize, Serialize}; use std::path::PathBuf; @@ -58,6 +60,14 @@ impl From for AybError { pub fn query_sqlite(path: &PathBuf, query: &str) -> Result { let conn = rusqlite::Connection::open(path)?; + + // Disable the usage of ATTACH + // https://www.sqlite.org/lang_attach.html + conn.set_limit(Limit::SQLITE_LIMIT_ATTACHED, 0); + // Prevent queries from deliberately corrupting the database + // https://www.sqlite.org/c3ref/c_dbconfig_defensive.html + conn.db_config(DbConfig::SQLITE_DBCONFIG_DEFENSIVE)?; + let mut prepared = conn.prepare(query)?; let num_columns = prepared.column_count(); let mut fields: Vec = Vec::new(); From a27315524f298c369c7c903b6c0247152ac36439 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Fri, 22 Dec 2023 00:14:31 +0000 Subject: [PATCH 11/28] Works end-to-end (need to implement 'touch' for new DBs) --- Cargo.lock | 1 + src/hosted_db.rs | 5 +- src/hosted_db/sandbox.rs | 104 +++++++++++++++++++++++++ src/hosted_db/sqlite.rs | 33 ++++++-- src/hosted_db_runner/Cargo.lock | 24 ++++++ src/hosted_db_runner/Cargo.toml | 1 + src/hosted_db_runner/src/main.rs | 13 ++-- src/http/endpoints/query.rs | 2 +- tests/nsjail | Bin 0 -> 895736 bytes tests/test-server-config-postgres.toml | 3 + tests/test-server-config-sqlite.toml | 3 + 11 files changed, 174 insertions(+), 15 deletions(-) create mode 100644 src/hosted_db/sandbox.rs create mode 100755 tests/nsjail diff --git a/Cargo.lock b/Cargo.lock index 7bef7280..a4448f81 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -394,6 +394,7 @@ version = "0.1.0" dependencies = [ "rusqlite", "serde", + "serde_json", ] [[package]] diff --git a/src/hosted_db.rs b/src/hosted_db.rs index e92ba78a..538095b0 100644 --- a/src/hosted_db.rs +++ b/src/hosted_db.rs @@ -1,4 +1,5 @@ pub mod paths; +mod sandbox; mod sqlite; use crate::ayb_db::models::DBType; @@ -64,14 +65,14 @@ impl From for QueryResult { } } -pub fn run_query( +pub async fn run_query( path: &PathBuf, query: &str, db_type: &DBType, isolation: &Option, ) -> Result { match db_type { - DBType::Sqlite => Ok(run_sqlite_query(path, query, isolation)?), + DBType::Sqlite => Ok(run_sqlite_query(path, query, isolation).await?), _ => Err(AybError { message: "Unsupported DB type".to_string(), }), diff --git a/src/hosted_db/sandbox.rs b/src/hosted_db/sandbox.rs new file mode 100644 index 00000000..7e642c4c --- /dev/null +++ b/src/hosted_db/sandbox.rs @@ -0,0 +1,104 @@ +/* Retrieved and modified from + https://raw.githubusercontent.com/Defelo/sandkasten/83f629175d02ebc70fbb16b8b9e05663ea67ccc7/src/sandbox.rs + On December 6, 2023. + Original license: MIT. +*/ + +use crate::error::AybError; +use std::fs::canonicalize; +use std::{ + path::{Path, PathBuf}, + process::Stdio, +}; + +use serde::{Deserialize, Serialize}; +use tokio::io::{AsyncReadExt, BufReader}; + +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +pub struct RunResult { + /// The exit code of the processes. + pub status: i32, + /// The stdout output the process produced. + pub stdout: String, + /// The stderr output the process produced. + pub stderr: String, +} + +pub async fn run_in_sandbox( + nsjail: &Path, + db_path: &PathBuf, + query: &str, +) -> Result { + let mut cmd = tokio::process::Command::new(nsjail); + + cmd.arg("--really_quiet") // log fatal messages only + .arg("--iface_no_lo") + .args(["--mode", "o"]) // run once + .args(["--hostname", "ayb"]) + .args(["--bindmount_ro", "/lib:/lib"]) + .args(["--bindmount_ro", "/lib64:/lib64"]) + .args(["--bindmount_ro", "/usr:/usr"]) + .args(["--mount", "none:/tmp:tmpfs:size=100000000"]) // TODO(marcua): Restrict disk size more configurably? + // TODO(marcua): Set resource limits more configurably? + .args(["--max_cpus", "1"]) + .args(["--rlimit_as", "64"]) // in MB + .args(["--time_limit", "10"]) // in seconds + .args(["--rlimit_fsize", "75"]) // in MB + .args(["--rlimit_nofile", "10"]) + .args(["--rlimit_nproc", "2"]); + + // Generate a /local/path/to/file:/tmp/file mapping. + let absolute_db_path = canonicalize(db_path)?; + let db_file_name = absolute_db_path + .file_name() + .ok_or(AybError { + message: format!("Invalid DB path {}", absolute_db_path.display()), + })? + .to_str() + .ok_or(AybError { + message: format!("Invalid DB path {}", absolute_db_path.display()), + })?; + let tmp_db_path = Path::new("/tmp").join(db_file_name); + let db_file_mapping = format!("{}:{}", absolute_db_path.display(), tmp_db_path.display()); + + // TODO(marcua): Figure out how to pass path to program command + cmd.args(["--bindmount_ro", "/home/marcua/ayb/src/hosted_db_runner/target/release/ayb-hosted-db-runner:/tmp/ayb-hosted-db-runner"]); + cmd.args(["--bindmount", &db_file_mapping]); + + let mut child = cmd + .arg("--") + .arg("/tmp/ayb-hosted-db-runner") + .arg(tmp_db_path) + .arg(query) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()) + .stdin(Stdio::piped()) + .spawn()?; + + let stdout_reader = BufReader::new(child.stdout.take().unwrap()); + let stderr_reader = BufReader::new(child.stderr.take().unwrap()); + + let output = child.wait_with_output().await?; + + // read stdout and stderr from process + let mut stdout = Vec::new(); + let mut stderr = Vec::new(); + stdout_reader + .take(1024 * 1024 * 1024) + .read_to_end(&mut stdout) + .await?; + stderr_reader + .take(1024 * 1024 * 1024) + .read_to_end(&mut stderr) + .await?; + let stdout = String::from_utf8_lossy(&stdout).into_owned(); + let stderr = String::from_utf8_lossy(&stderr).into_owned(); + + Ok(RunResult { + status: output.status.code().ok_or(AybError { + message: "Process exited with signal".to_string(), + })?, + stdout, + stderr, + }) +} diff --git a/src/hosted_db/sqlite.rs b/src/hosted_db/sqlite.rs index 6c52e90a..fdff1a4a 100644 --- a/src/hosted_db/sqlite.rs +++ b/src/hosted_db/sqlite.rs @@ -1,19 +1,38 @@ use crate::error::AybError; -use crate::hosted_db::QueryResult; +use crate::hosted_db::{sandbox::run_in_sandbox, QueryResult}; use crate::http::structs::AybConfigIsolation; use ayb_hosted_db_runner::query_sqlite; -use std::path::PathBuf; +use serde_json; +use std::path::{Path, PathBuf}; -pub fn run_sqlite_query( +pub async fn run_sqlite_query( path: &PathBuf, query: &str, isolation: &Option, ) -> Result { match isolation { - Some(isolation) => Ok(QueryResult { - fields: Vec::new(), - rows: Vec::new(), - }), + Some(isolation) => { + let result = run_in_sandbox(Path::new(&isolation.nsjail_path), path, query).await?; + + if result.stderr.len() > 0 { + let error: AybError = serde_json::from_str(&result.stderr)?; + Err(error) + } else if result.status != 0 { + Err(AybError { + message: format!( + "Error status from sandboxed query runner: {}", + result.status.to_string() + ), + }) + } else if result.stdout.len() > 0 { + let query_result: QueryResult = serde_json::from_str(&result.stdout)?; + Ok(query_result) + } else { + Err(AybError { + message: "No results from sandboxed query runner".to_string(), + }) + } + } None => Ok(query_sqlite(path, query)?.into()), } } diff --git a/src/hosted_db_runner/Cargo.lock b/src/hosted_db_runner/Cargo.lock index a41e4077..b2cee288 100644 --- a/src/hosted_db_runner/Cargo.lock +++ b/src/hosted_db_runner/Cargo.lock @@ -19,6 +19,7 @@ version = "0.1.0" dependencies = [ "rusqlite", "serde", + "serde_json", ] [[package]] @@ -83,6 +84,12 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + [[package]] name = "libc" version = "0.2.150" @@ -151,6 +158,12 @@ dependencies = [ "smallvec", ] +[[package]] +name = "ryu" +version = "1.0.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" + [[package]] name = "serde" version = "1.0.193" @@ -171,6 +184,17 @@ dependencies = [ "syn", ] +[[package]] +name = "serde_json" +version = "1.0.108" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" +dependencies = [ + "itoa", + "ryu", + "serde", +] + [[package]] name = "smallvec" version = "1.11.2" diff --git a/src/hosted_db_runner/Cargo.toml b/src/hosted_db_runner/Cargo.toml index ad4cdb0a..8c69af56 100644 --- a/src/hosted_db_runner/Cargo.toml +++ b/src/hosted_db_runner/Cargo.toml @@ -8,3 +8,4 @@ edition = "2021" [dependencies] rusqlite = { version = "0.27.0", features = ["bundled", "limits"] } serde = { version = "1.0", features = ["derive"] } +serde_json = { version = "1.0.108" } diff --git a/src/hosted_db_runner/src/main.rs b/src/hosted_db_runner/src/main.rs index bd5a376f..c5478ad4 100644 --- a/src/hosted_db_runner/src/main.rs +++ b/src/hosted_db_runner/src/main.rs @@ -1,13 +1,16 @@ -use hosted_db_runner::{run_sqlite_query, AybError, QueryResult}; +use ayb_hosted_db_runner::{query_sqlite}; +use serde_json; use std::env; use std::path::PathBuf; -fn main() { +fn main() -> Result<(), serde_json::Error> { let args: Vec = env::args().collect(); let db_file = &args[1]; let query = (&args[2..]).to_vec(); - match run_sqlite_query(&PathBuf::from(db_file), &query.join(" ")) { - Ok(result) => println!("{:?}", result), - Err(error) => eprintln!("{:?}", error), + let result = query_sqlite(&PathBuf::from(db_file), &query.join(" ")); + match result { + Ok(result) => println!("{}", serde_json::to_string(&result)?), + Err(error) => eprintln!("{}", serde_json::to_string(&error)?), } + Ok(()) } diff --git a/src/http/endpoints/query.rs b/src/http/endpoints/query.rs index c31b6f70..3c533500 100644 --- a/src/http/endpoints/query.rs +++ b/src/http/endpoints/query.rs @@ -26,7 +26,7 @@ async fn query( if can_query(&authenticated_entity, &database) { let db_type = DBType::try_from(database.db_type)?; let db_path = database_path(entity_slug, database_slug, &ayb_config.data_path)?; - let result = run_query(&db_path, &query, &db_type, &ayb_config.isolation)?; + let result = run_query(&db_path, &query, &db_type, &ayb_config.isolation).await?; Ok(web::Json(result)) } else { Err(AybError { diff --git a/tests/nsjail b/tests/nsjail new file mode 100755 index 0000000000000000000000000000000000000000..004739be452b156a748b18dd15a14a4b406dd86a GIT binary patch literal 895736 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 z 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%0AB4@t4oLsp>POe-R+i_sO4szz3 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

yZtGfAN<#Ngxzsh6ph;dZ4TlQ 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 lb@k^r|BqPzuUP<4 Date: Fri, 22 Dec 2023 23:34:03 +0000 Subject: [PATCH 12/28] Create DB file in create_database --- src/hosted_db/paths.rs | 17 +++++++++++++---- src/http/endpoints/create_database.rs | 7 +++++-- src/http/endpoints/query.rs | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/hosted_db/paths.rs b/src/hosted_db/paths.rs index 31a39040..06fa0360 100644 --- a/src/hosted_db/paths.rs +++ b/src/hosted_db/paths.rs @@ -6,13 +6,22 @@ pub fn database_path( entity_slug: &str, database_slug: &str, data_path: &str, + create_database: bool, ) -> Result { let mut path: PathBuf = [data_path, entity_slug].iter().collect(); - if let Err(e) = fs::create_dir_all(&path) { - return Err(AybError { - message: format!("Unable to create entity path for {}: {}", entity_slug, e), - }); + if create_database { + if let Err(e) = fs::create_dir_all(&path) { + return Err(AybError { + message: format!("Unable to create entity path for {}: {}", entity_slug, e), + }); + } } + path.push(database_slug); + + if create_database && !path.exists() { + fs::File::create(path.clone())?; + } + Ok(path) } diff --git a/src/http/endpoints/create_database.rs b/src/http/endpoints/create_database.rs index 7ad14ae3..6297a146 100644 --- a/src/http/endpoints/create_database.rs +++ b/src/http/endpoints/create_database.rs @@ -4,9 +4,9 @@ use std::str::FromStr; use crate::error::AybError; +use crate::hosted_db::paths::database_path; use crate::http::permissions::can_create_database; -use crate::http::structs::{Database as APIDatabase, EntityDatabasePath}; - +use crate::http::structs::{AybConfig, Database as APIDatabase, EntityDatabasePath}; use crate::http::utils::{get_header, unwrap_authenticated_entity}; use actix_web::{post, web, HttpRequest, HttpResponse}; @@ -15,6 +15,7 @@ async fn create_database( path: web::Path, req: HttpRequest, ayb_db: web::Data>, + ayb_config: web::Data, authenticated_entity: Option>, ) -> Result { let entity_slug = &path.entity; @@ -28,6 +29,8 @@ async fn create_database( let authenticated_entity = unwrap_authenticated_entity(&authenticated_entity)?; if can_create_database(&authenticated_entity, &entity) { let created_database = ayb_db.create_database(&database).await?; + // Create the database file at the appropriate path + let _ = database_path(entity_slug, &path.database, &ayb_config.data_path, true)?; Ok(HttpResponse::Created().json(APIDatabase::from_persisted(&entity, &created_database))) } else { Err(AybError { diff --git a/src/http/endpoints/query.rs b/src/http/endpoints/query.rs index 3c533500..960c7a63 100644 --- a/src/http/endpoints/query.rs +++ b/src/http/endpoints/query.rs @@ -25,7 +25,7 @@ async fn query( if can_query(&authenticated_entity, &database) { let db_type = DBType::try_from(database.db_type)?; - let db_path = database_path(entity_slug, database_slug, &ayb_config.data_path)?; + let db_path = database_path(entity_slug, database_slug, &ayb_config.data_path, false)?; let result = run_query(&db_path, &query, &db_type, &ayb_config.isolation).await?; Ok(web::Json(result)) } else { From 24d839dbf563dabc8fa82da5a5fc384b753f7899 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Sat, 23 Dec 2023 04:45:43 +0000 Subject: [PATCH 13/28] Move isolated runner into original crate as second binary, dynamically determine path to it --- Cargo.lock | 10 ----- Cargo.toml | 10 ++++- src/{main.rs => bin/ayb.rs} | 0 .../main.rs => bin/ayb_isolated_runner.rs} | 2 +- src/error.rs | 9 ---- src/hosted_db.rs | 12 +---- src/hosted_db/sandbox.rs | 28 +++++++++--- src/hosted_db/sqlite.rs | 45 ++++++++++++++++++- src/hosted_db_runner/src/lib.rs | 45 ------------------- 9 files changed, 77 insertions(+), 84 deletions(-) rename src/{main.rs => bin/ayb.rs} (100%) rename src/{hosted_db_runner/src/main.rs => bin/ayb_isolated_runner.rs} (91%) diff --git a/Cargo.lock b/Cargo.lock index a4448f81..7d5eba67 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -367,7 +367,6 @@ dependencies = [ "assert-json-diff", "assert_cmd", "async-trait", - "ayb-hosted-db-runner", "clap", "derive_more", "dyn-clone", @@ -388,15 +387,6 @@ dependencies = [ "toml", ] -[[package]] -name = "ayb-hosted-db-runner" -version = "0.1.0" -dependencies = [ - "rusqlite", - "serde", - "serde_json", -] - [[package]] name = "backtrace" version = "0.3.67" diff --git a/Cargo.toml b/Cargo.toml index 573b7bdd..edca2e9e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,12 +6,12 @@ description = "ayb makes it easy to create, host, and share embedded databases l homepage = "https://github.com/marcua/ayb" documentation = "https://github.com/marcua/ayb#readme" license = "Apache-2.0" +default-run = "ayb" [dependencies] actix-web = { version = "4.4.0" } actix-web-httpauth = { version = "0.8.1" } async-trait = { version = "0.1.74" } -ayb-hosted-db-runner = { path = "src/hosted_db_runner" } clap = { version = "4.4.8", features = ["cargo", "derive", "env"] } derive_more = { version = "0.99.0" } dyn-clone = { version = "1.0.16" } @@ -34,3 +34,11 @@ prettytable-rs = { version = "0.10.0"} [dev-dependencies] assert_cmd = "2.0" assert-json-diff = "2.0.2" + +[[bin]] +name = "ayb" +path = "src/bin/ayb.rs" + +[[bin]] +name = "ayb_isolated_runner" +path = "src/bin/ayb_isolated_runner.rs" diff --git a/src/main.rs b/src/bin/ayb.rs similarity index 100% rename from src/main.rs rename to src/bin/ayb.rs diff --git a/src/hosted_db_runner/src/main.rs b/src/bin/ayb_isolated_runner.rs similarity index 91% rename from src/hosted_db_runner/src/main.rs rename to src/bin/ayb_isolated_runner.rs index c5478ad4..d84f56b0 100644 --- a/src/hosted_db_runner/src/main.rs +++ b/src/bin/ayb_isolated_runner.rs @@ -1,4 +1,4 @@ -use ayb_hosted_db_runner::{query_sqlite}; +use ayb::hosted_db::sqlite::query_sqlite; use serde_json; use std::env; use std::path::PathBuf; diff --git a/src/error.rs b/src/error.rs index 9c5a7751..8f2907c3 100644 --- a/src/error.rs +++ b/src/error.rs @@ -17,15 +17,6 @@ pub struct AybError { pub message: String, } -// TODO(marcua): Consider a shared library so AybError can be the same in both crates, or move into the runner library. -impl From for AybError { - fn from(error: ayb_hosted_db_runner::AybError) -> Self { - AybError { - message: error.message, - } - } -} - impl actix_web::error::ResponseError for AybError { fn error_response(&self) -> actix_web::HttpResponse { actix_web::HttpResponse::InternalServerError().json(self) diff --git a/src/hosted_db.rs b/src/hosted_db.rs index 538095b0..55bfba36 100644 --- a/src/hosted_db.rs +++ b/src/hosted_db.rs @@ -1,6 +1,6 @@ pub mod paths; mod sandbox; -mod sqlite; +pub mod sqlite; use crate::ayb_db::models::DBType; use crate::error::AybError; @@ -55,16 +55,6 @@ impl QueryResult { } } -// TODO(marcua): Consider a shared library so QueryResult can be the same in both crates, or move into the runner library. -impl From for QueryResult { - fn from(results: ayb_hosted_db_runner::QueryResult) -> Self { - QueryResult { - fields: results.fields, - rows: results.rows, - } - } -} - pub async fn run_query( path: &PathBuf, query: &str, diff --git a/src/hosted_db/sandbox.rs b/src/hosted_db/sandbox.rs index 7e642c4c..13af3b53 100644 --- a/src/hosted_db/sandbox.rs +++ b/src/hosted_db/sandbox.rs @@ -5,13 +5,13 @@ */ use crate::error::AybError; +use serde::{Deserialize, Serialize}; +use std::env::current_exe; use std::fs::canonicalize; use std::{ path::{Path, PathBuf}, process::Stdio, }; - -use serde::{Deserialize, Serialize}; use tokio::io::{AsyncReadExt, BufReader}; #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] @@ -60,14 +60,30 @@ pub async fn run_in_sandbox( })?; let tmp_db_path = Path::new("/tmp").join(db_file_name); let db_file_mapping = format!("{}:{}", absolute_db_path.display(), tmp_db_path.display()); - - // TODO(marcua): Figure out how to pass path to program command - cmd.args(["--bindmount_ro", "/home/marcua/ayb/src/hosted_db_runner/target/release/ayb-hosted-db-runner:/tmp/ayb-hosted-db-runner"]); cmd.args(["--bindmount", &db_file_mapping]); + // Generate a /local/path/to/ayb_isolated_runner:/tmp/ayb_isolated_runner mapping. + let ayb_path = current_exe()?; + let isolated_runner_path = ayb_path + .parent() + .ok_or(AybError { + message: format!( + "Unable to find parent directory of ayb from {}", + ayb_path.display() + ), + })? + .join("ayb_isolated_runner"); + cmd.args([ + "--bindmount_ro", + &format!( + "{}:/tmp/ayb_isolated_runner", + isolated_runner_path.display() + ), + ]); + let mut child = cmd .arg("--") - .arg("/tmp/ayb-hosted-db-runner") + .arg("/tmp/ayb_isolated_runner") .arg(tmp_db_path) .arg(query) .stdout(Stdio::piped()) diff --git a/src/hosted_db/sqlite.rs b/src/hosted_db/sqlite.rs index fdff1a4a..1b4447be 100644 --- a/src/hosted_db/sqlite.rs +++ b/src/hosted_db/sqlite.rs @@ -1,10 +1,53 @@ use crate::error::AybError; use crate::hosted_db::{sandbox::run_in_sandbox, QueryResult}; use crate::http::structs::AybConfigIsolation; -use ayb_hosted_db_runner::query_sqlite; +use rusqlite::config::DbConfig; +use rusqlite::limits::Limit; +use rusqlite::types::ValueRef; use serde_json; use std::path::{Path, PathBuf}; +pub fn query_sqlite(path: &PathBuf, query: &str) -> Result { + let conn = rusqlite::Connection::open(path)?; + + // Disable the usage of ATTACH + // https://www.sqlite.org/lang_attach.html + conn.set_limit(Limit::SQLITE_LIMIT_ATTACHED, 0); + // Prevent queries from deliberately corrupting the database + // https://www.sqlite.org/c3ref/c_dbconfig_defensive.html + conn.db_config(DbConfig::SQLITE_DBCONFIG_DEFENSIVE)?; + + let mut prepared = conn.prepare(query)?; + let num_columns = prepared.column_count(); + let mut fields: Vec = Vec::new(); + for column_index in 0..num_columns { + fields.push(String::from(prepared.column_name(column_index)?)) + } + + let mut rows = prepared.query([])?; + let mut results: Vec>> = Vec::new(); + while let Some(row) = rows.next()? { + let mut result: Vec> = Vec::new(); + for column_index in 0..num_columns { + let column_value = row.get_ref(column_index)?; + result.push(match column_value { + ValueRef::Null => None, + ValueRef::Integer(i) => Some(i.to_string()), + ValueRef::Real(f) => Some(f.to_string()), + ValueRef::Text(_t) => Some(column_value.as_str()?.to_string()), + ValueRef::Blob(_b) => { + Some(std::str::from_utf8(column_value.as_bytes()?)?.to_string()) + } + }); + } + results.push(result); + } + Ok(QueryResult { + fields, + rows: results, + }) +} + pub async fn run_sqlite_query( path: &PathBuf, query: &str, diff --git a/src/hosted_db_runner/src/lib.rs b/src/hosted_db_runner/src/lib.rs index 349a8b68..cd46f940 100644 --- a/src/hosted_db_runner/src/lib.rs +++ b/src/hosted_db_runner/src/lib.rs @@ -1,9 +1,5 @@ use rusqlite; -use rusqlite::config::DbConfig; -use rusqlite::limits::Limit; -use rusqlite::types::ValueRef; use serde::{Deserialize, Serialize}; -use std::path::PathBuf; use std::string; use std::vec::Vec; @@ -57,44 +53,3 @@ impl From for AybError { } } } - -pub fn query_sqlite(path: &PathBuf, query: &str) -> Result { - let conn = rusqlite::Connection::open(path)?; - - // Disable the usage of ATTACH - // https://www.sqlite.org/lang_attach.html - conn.set_limit(Limit::SQLITE_LIMIT_ATTACHED, 0); - // Prevent queries from deliberately corrupting the database - // https://www.sqlite.org/c3ref/c_dbconfig_defensive.html - conn.db_config(DbConfig::SQLITE_DBCONFIG_DEFENSIVE)?; - - let mut prepared = conn.prepare(query)?; - let num_columns = prepared.column_count(); - let mut fields: Vec = Vec::new(); - for column_index in 0..num_columns { - fields.push(String::from(prepared.column_name(column_index)?)) - } - - let mut rows = prepared.query([])?; - let mut results: Vec>> = Vec::new(); - while let Some(row) = rows.next()? { - let mut result: Vec> = Vec::new(); - for column_index in 0..num_columns { - let column_value = row.get_ref(column_index)?; - result.push(match column_value { - ValueRef::Null => None, - ValueRef::Integer(i) => Some(i.to_string()), - ValueRef::Real(f) => Some(f.to_string()), - ValueRef::Text(_t) => Some(column_value.as_str()?.to_string()), - ValueRef::Blob(_b) => { - Some(std::str::from_utf8(column_value.as_bytes()?)?.to_string()) - } - }); - } - results.push(result); - } - Ok(QueryResult { - fields, - rows: results, - }) -} From 8eae1f3d6c86bbf50aa3a85bedede3097f34001a Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Sat, 23 Dec 2023 04:50:53 +0000 Subject: [PATCH 14/28] Remove hosted_db_runner --- src/{hosted_db_runner => }/build_nsjail.sh | 0 src/hosted_db_runner/.gitignore | 1 - src/hosted_db_runner/Cargo.lock | 237 --------------------- src/hosted_db_runner/Cargo.toml | 11 - src/hosted_db_runner/build_wasi.sh | 17 -- src/hosted_db_runner/src/lib.rs | 55 ----- 6 files changed, 321 deletions(-) rename src/{hosted_db_runner => }/build_nsjail.sh (100%) delete mode 100644 src/hosted_db_runner/.gitignore delete mode 100644 src/hosted_db_runner/Cargo.lock delete mode 100644 src/hosted_db_runner/Cargo.toml delete mode 100755 src/hosted_db_runner/build_wasi.sh delete mode 100644 src/hosted_db_runner/src/lib.rs diff --git a/src/hosted_db_runner/build_nsjail.sh b/src/build_nsjail.sh similarity index 100% rename from src/hosted_db_runner/build_nsjail.sh rename to src/build_nsjail.sh diff --git a/src/hosted_db_runner/.gitignore b/src/hosted_db_runner/.gitignore deleted file mode 100644 index 2f7896d1..00000000 --- a/src/hosted_db_runner/.gitignore +++ /dev/null @@ -1 +0,0 @@ -target/ diff --git a/src/hosted_db_runner/Cargo.lock b/src/hosted_db_runner/Cargo.lock deleted file mode 100644 index b2cee288..00000000 --- a/src/hosted_db_runner/Cargo.lock +++ /dev/null @@ -1,237 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "ahash" -version = "0.7.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a824f2aa7e75a0c98c5a504fceb80649e9c35265d44525b5f94de4771a395cd" -dependencies = [ - "getrandom", - "once_cell", - "version_check", -] - -[[package]] -name = "ayb-hosted-db-runner" -version = "0.1.0" -dependencies = [ - "rusqlite", - "serde", - "serde_json", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "cc" -version = "1.0.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" -dependencies = [ - "libc", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "fallible-iterator" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7" - -[[package]] -name = "fallible-streaming-iterator" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" - -[[package]] -name = "getrandom" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash", -] - -[[package]] -name = "hashlink" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7249a3129cbc1ffccd74857f81464a323a152173cdb134e0fd81bc803b29facf" -dependencies = [ - "hashbrown", -] - -[[package]] -name = "itoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" - -[[package]] -name = "libc" -version = "0.2.150" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" - -[[package]] -name = "libsqlite3-sys" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" -dependencies = [ - "cc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "memchr" -version = "2.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" - -[[package]] -name = "once_cell" -version = "1.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" - -[[package]] -name = "pkg-config" -version = "0.3.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - -[[package]] -name = "proc-macro2" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rusqlite" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85127183a999f7db96d1a976a309eebbfb6ea3b0b400ddd8340190129de6eb7a" -dependencies = [ - "bitflags", - "fallible-iterator", - "fallible-streaming-iterator", - "hashlink", - "libsqlite3-sys", - "memchr", - "smallvec", -] - -[[package]] -name = "ryu" -version = "1.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" - -[[package]] -name = "serde" -version = "1.0.193" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.193" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.108" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "smallvec" -version = "1.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" - -[[package]] -name = "syn" -version = "2.0.39" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" diff --git a/src/hosted_db_runner/Cargo.toml b/src/hosted_db_runner/Cargo.toml deleted file mode 100644 index 8c69af56..00000000 --- a/src/hosted_db_runner/Cargo.toml +++ /dev/null @@ -1,11 +0,0 @@ -[package] -name = "ayb-hosted-db-runner" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -rusqlite = { version = "0.27.0", features = ["bundled", "limits"] } -serde = { version = "1.0", features = ["derive"] } -serde_json = { version = "1.0.108" } diff --git a/src/hosted_db_runner/build_wasi.sh b/src/hosted_db_runner/build_wasi.sh deleted file mode 100755 index 65a24f4e..00000000 --- a/src/hosted_db_runner/build_wasi.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -# Also: apt install llvm-dev libclang-dev clang - -export WASI_VERSION=20 -export WASI_VERSION_FULL=20.0 -export WASI_SDK_PATH=`pwd`/wasi-sdk-${WASI_VERSION_FULL} -export WASI_LIB=`pwd`/wasi-sdk-${WASI_VERSION_FULL}/lib -export WASI_SYSROOT="${WASI_SDK_PATH}/share/wasi-sysroot" -export CC="${WASI_SDK_PATH}/bin/clang --sysroot=${WASI_SYSROOT}" -export CC_wasm32_wasi="${CC}" -export RUST_BACKTRACE=1 - -wget -nc "https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_VERSION}/wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz" -tar xvf wasi-sdk-${WASI_VERSION_FULL}-linux.tar.gz - -cargo build --target "wasm32-wasi" diff --git a/src/hosted_db_runner/src/lib.rs b/src/hosted_db_runner/src/lib.rs deleted file mode 100644 index cd46f940..00000000 --- a/src/hosted_db_runner/src/lib.rs +++ /dev/null @@ -1,55 +0,0 @@ -use rusqlite; -use serde::{Deserialize, Serialize}; -use std::string; -use std::vec::Vec; - -#[derive(Serialize, Debug, Deserialize)] -pub struct QueryResult { - pub fields: Vec, - pub rows: Vec>>, -} - -#[derive(Debug, Deserialize, Serialize)] -pub struct AybError { - pub message: String, -} - -impl From for AybError { - fn from(cause: std::io::Error) -> Self { - AybError { - message: format!("IO error: {:?}", cause), - } - } -} - -impl From for AybError { - fn from(cause: rusqlite::Error) -> Self { - AybError { - message: format!("{:?}", cause), - } - } -} - -impl From for AybError { - fn from(cause: rusqlite::types::FromSqlError) -> Self { - AybError { - message: format!("{:?}", cause), - } - } -} - -impl From for AybError { - fn from(cause: std::str::Utf8Error) -> Self { - AybError { - message: format!("{:?}", cause), - } - } -} - -impl From for AybError { - fn from(cause: string::FromUtf8Error) -> Self { - AybError { - message: format!("{:?}", cause), - } - } -} From ef0aeba8c999ef3e2ba7fa2c54e8db961da30dcb Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Sat, 23 Dec 2023 04:51:56 +0000 Subject: [PATCH 15/28] Move nsjail builder to scripts dir --- {src => scripts}/build_nsjail.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {src => scripts}/build_nsjail.sh (100%) diff --git a/src/build_nsjail.sh b/scripts/build_nsjail.sh similarity index 100% rename from src/build_nsjail.sh rename to scripts/build_nsjail.sh From 915905325dbe5dbad6fe826d4e2ef0f6dcaaa243 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Sat, 23 Dec 2023 05:05:34 +0000 Subject: [PATCH 16/28] fmt --- src/http/structs.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/http/structs.rs b/src/http/structs.rs index 9fe98e4f..af20126f 100644 --- a/src/http/structs.rs +++ b/src/http/structs.rs @@ -48,7 +48,7 @@ pub struct AybConfig { pub email: AybConfigEmail, pub web: Option, pub cors: AybConfigCors, - pub isolation: Option, + pub isolation: Option, } impl AybConfig { From 0ca9cbe0279e1edc8b3efbdb91483796eb2ae909 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Sat, 23 Dec 2023 05:06:12 +0000 Subject: [PATCH 17/28] tokio typo --- Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index b6a324d9..964afb17 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,7 @@ serde_json = { version = "1.0.108" } serde_repr = { version = "0.1.17" } sqlx = { version = "0.6.3", features = ["runtime-actix-native-tls", "postgres", "sqlite"] } toml = { version = "0.8.8" } -tokio = { version = "1.35.1", features = ["macros", "procss", "rt"] } +tokio = { version = "1.35.1", features = ["macros", "process", "rt"] } prefixed-api-key = { version = "0.1.0", features = ["sha2"]} prettytable-rs = { version = "0.10.0"} urlencoding = { version = "2.1.3" } From 665b6d0e026e257f320ddbc4fdc8ff633005ca98 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Sat, 23 Dec 2023 05:13:00 +0000 Subject: [PATCH 18/28] New AybError variants --- src/hosted_db/sandbox.rs | 8 ++++---- src/hosted_db/sqlite.rs | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/hosted_db/sandbox.rs b/src/hosted_db/sandbox.rs index 13af3b53..d9e0a824 100644 --- a/src/hosted_db/sandbox.rs +++ b/src/hosted_db/sandbox.rs @@ -51,11 +51,11 @@ pub async fn run_in_sandbox( let absolute_db_path = canonicalize(db_path)?; let db_file_name = absolute_db_path .file_name() - .ok_or(AybError { + .ok_or(AybError::Other { message: format!("Invalid DB path {}", absolute_db_path.display()), })? .to_str() - .ok_or(AybError { + .ok_or(AybError::Other { message: format!("Invalid DB path {}", absolute_db_path.display()), })?; let tmp_db_path = Path::new("/tmp").join(db_file_name); @@ -66,7 +66,7 @@ pub async fn run_in_sandbox( let ayb_path = current_exe()?; let isolated_runner_path = ayb_path .parent() - .ok_or(AybError { + .ok_or(AybError::Other { message: format!( "Unable to find parent directory of ayb from {}", ayb_path.display() @@ -111,7 +111,7 @@ pub async fn run_in_sandbox( let stderr = String::from_utf8_lossy(&stderr).into_owned(); Ok(RunResult { - status: output.status.code().ok_or(AybError { + status: output.status.code().ok_or(AybError::Other { message: "Process exited with signal".to_string(), })?, stdout, diff --git a/src/hosted_db/sqlite.rs b/src/hosted_db/sqlite.rs index 1b4447be..96515092 100644 --- a/src/hosted_db/sqlite.rs +++ b/src/hosted_db/sqlite.rs @@ -61,7 +61,7 @@ pub async fn run_sqlite_query( let error: AybError = serde_json::from_str(&result.stderr)?; Err(error) } else if result.status != 0 { - Err(AybError { + Err(AybError::Other { message: format!( "Error status from sandboxed query runner: {}", result.status.to_string() @@ -71,7 +71,7 @@ pub async fn run_sqlite_query( let query_result: QueryResult = serde_json::from_str(&result.stdout)?; Ok(query_result) } else { - Err(AybError { + Err(AybError::Other { message: "No results from sandboxed query runner".to_string(), }) } From c52aad173757afe7440104b916c846b7fbbc4bf8 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Mon, 25 Dec 2023 16:39:40 +0000 Subject: [PATCH 19/28] Code review part 1 --- README.md | 31 ++++++++++++++++++ scripts/build_nsjail.sh | 1 - src/bin/ayb_isolated_runner.rs | 8 +++++ src/hosted_db/sandbox.rs | 58 ++++++++++++++++++++++++---------- 4 files changed, 80 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index a92885e6..fc8df3fd 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,37 @@ $ curl -w "\n" -X POST http://127.0.0.1:5433/v1/marcua/test.sqlite/query -H "aut {"fields":["name","score"],"rows":[["PostgreSQL","10"],["SQLite","9"],["DuckDB","9"]]} ``` +### Isolation (optional) +`ayb` allows multiple users to run queries against databases that are +stored on the same machine. Isolation enables you to prevent one user +from accessing another user's data, and allows you to restrict the +resources any one user is able to utilize. + +By default, `ayb` uses +[SQLITE_DBCONFIG_DEFENSIVE](https://www.sqlite.org/c3ref/c_dbconfig_defensive.html) +flag and sets +[SQLITE_LIMIT_ATTACHED](https://www.sqlite.org/c3ref/c_limit_attached.html#sqlitelimitattached) +to `0` in order to prevent users from corrupting the database or +attaching to other databases on the filesystem. + +For further isolation (which is recommended by the [SQLite +community](https://sqlite.org/forum/forumpost?udc=1&name=0f77e9f96e), +`ayb` uses [nsjail](https://nsjail.dev/) to isolate each query's +filesystem access and resources. When this form of isolation is +enabled, `ayb` starts a new `nsjail`-managed process to execute the +query against the database. We have not yet benchmarked the +performance overhead of this approach. + +To enable isolation, you must first build `nsjail`, which you can do +through [scripts/build_nsjail.sh](scripts/build_nsjail.sh). once you +have a path to the `nsjail` binary, add the following to your +`ayb.toml`: + +```toml +[isolation] +nsjail_path = "path/to/nsjail" +``` + ## FAQ ### Who is `ayb` for? diff --git a/scripts/build_nsjail.sh b/scripts/build_nsjail.sh index 12279b68..ae7aec21 100755 --- a/scripts/build_nsjail.sh +++ b/scripts/build_nsjail.sh @@ -6,4 +6,3 @@ make mv nsjail .. cd .. rm -rf nsjail-checkout - diff --git a/src/bin/ayb_isolated_runner.rs b/src/bin/ayb_isolated_runner.rs index d84f56b0..73e5282a 100644 --- a/src/bin/ayb_isolated_runner.rs +++ b/src/bin/ayb_isolated_runner.rs @@ -3,6 +3,14 @@ use serde_json; use std::env; use std::path::PathBuf; +/// This binary runs a query against a database and returns the +/// result in QueryResults format. To run it, you would type: +/// $ ayb_isolated_runner database.sqlite SELECT xyz FROM ... +/// +/// This command is meant to be run inside a sandbox that isolates +/// parallel invocations of the command from accessing each +/// others' data, memory, and resources. That sandbox can be found +/// in src/hosted_db/sandbox.rs. fn main() -> Result<(), serde_json::Error> { let args: Vec = env::args().collect(); let db_file = &args[1]; diff --git a/src/hosted_db/sandbox.rs b/src/hosted_db/sandbox.rs index d9e0a824..bddf035e 100644 --- a/src/hosted_db/sandbox.rs +++ b/src/hosted_db/sandbox.rs @@ -1,7 +1,29 @@ /* Retrieved and modified from https://raw.githubusercontent.com/Defelo/sandkasten/83f629175d02ebc70fbb16b8b9e05663ea67ccc7/src/sandbox.rs On December 6, 2023. - Original license: MIT. + Original license: + + MIT License + + Copyright (c) 2023 Defelo + + Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. */ use crate::error::AybError; @@ -37,32 +59,37 @@ pub async fn run_in_sandbox( .args(["--hostname", "ayb"]) .args(["--bindmount_ro", "/lib:/lib"]) .args(["--bindmount_ro", "/lib64:/lib64"]) - .args(["--bindmount_ro", "/usr:/usr"]) - .args(["--mount", "none:/tmp:tmpfs:size=100000000"]) // TODO(marcua): Restrict disk size more configurably? - // TODO(marcua): Set resource limits more configurably? - .args(["--max_cpus", "1"]) - .args(["--rlimit_as", "64"]) // in MB - .args(["--time_limit", "10"]) // in seconds - .args(["--rlimit_fsize", "75"]) // in MB - .args(["--rlimit_nofile", "10"]) - .args(["--rlimit_nproc", "2"]); + .args(["--bindmount_ro", "/usr:/usr"]); + + // Set resource limits for the process. In the future, we will + // allow entities to control the resources they dedicate to + // different databases/queries. + cmd.args(["--mount", "none:/tmp:tmpfs:size=100000000"]) // ~95 MB tmpfs + .args(["--max_cpus", "1"]) // One CPU + .args(["--rlimit_as", "64"]) // 64 MB memory limit + .args(["--time_limit", "10"]) // 10 second maximum run + .args(["--rlimit_fsize", "75"]) // 75 MB file size limit + .args(["--rlimit_nofile", "10"]) // 10 files maximum + .args(["--rlimit_nproc", "2"]); // 2 processes maximum // Generate a /local/path/to/file:/tmp/file mapping. let absolute_db_path = canonicalize(db_path)?; let db_file_name = absolute_db_path .file_name() .ok_or(AybError::Other { - message: format!("Invalid DB path {}", absolute_db_path.display()), + message: format!("Could not parse file name from path: {}", absolute_db_path.display()), })? .to_str() .ok_or(AybError::Other { - message: format!("Invalid DB path {}", absolute_db_path.display()), + message: format!("Could not convert path to string: {}", absolute_db_path.display()), })?; let tmp_db_path = Path::new("/tmp").join(db_file_name); let db_file_mapping = format!("{}:{}", absolute_db_path.display(), tmp_db_path.display()); cmd.args(["--bindmount", &db_file_mapping]); // Generate a /local/path/to/ayb_isolated_runner:/tmp/ayb_isolated_runner mapping. + // We assume `ayb` and `ayb_isolated_runner` will always be in the same directory, + // so we see what the path to the current `ayb` executable is to build the path. let ayb_path = current_exe()?; let isolated_runner_path = ayb_path .parent() @@ -88,11 +115,10 @@ pub async fn run_in_sandbox( .arg(query) .stdout(Stdio::piped()) .stderr(Stdio::piped()) - .stdin(Stdio::piped()) .spawn()?; - let stdout_reader = BufReader::new(child.stdout.take().unwrap()); - let stderr_reader = BufReader::new(child.stderr.take().unwrap()); + let mut stdout_reader = BufReader::new(child.stdout.take().unwrap()); + let mut stderr_reader = BufReader::new(child.stderr.take().unwrap()); let output = child.wait_with_output().await?; @@ -100,11 +126,9 @@ pub async fn run_in_sandbox( let mut stdout = Vec::new(); let mut stderr = Vec::new(); stdout_reader - .take(1024 * 1024 * 1024) .read_to_end(&mut stdout) .await?; stderr_reader - .take(1024 * 1024 * 1024) .read_to_end(&mut stderr) .await?; let stdout = String::from_utf8_lossy(&stdout).into_owned(); From a222227a06823339967cb5ef7fb54533ba77ee41 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Mon, 25 Dec 2023 16:46:49 +0000 Subject: [PATCH 20/28] Update docs, remove binary, add nsjail build step --- .github/workflows/tests.yml | 2 ++ .gitignore | 1 + README.md | 14 ++++++-------- tests/nsjail | Bin 895736 -> 0 bytes 4 files changed, 9 insertions(+), 8 deletions(-) delete mode 100755 tests/nsjail diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2b2a8d99..b199bad5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -37,5 +37,7 @@ jobs: run: cargo fmt --check - name: Ensure clippy finds no issues run: cargo clippy + - name: Build nsjail + run: scripts/build_nsjail && mv nsjail tests/ - name: Run tests run: cargo test --verbose diff --git a/.gitignore b/.gitignore index 512407a2..09ffc5e4 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ tests/ayb_data_postgres tests/ayb_data_sqlite tests/smtp_data_10025 tests/smtp_data_10026 +tests/nsjail \ No newline at end of file diff --git a/README.md b/README.md index fc8df3fd..7f2c29cf 100644 --- a/README.md +++ b/README.md @@ -146,7 +146,7 @@ $ curl -w "\n" -X POST http://127.0.0.1:5433/v1/marcua/test.sqlite/query -H "aut {"fields":["name","score"],"rows":[["PostgreSQL","10"],["SQLite","9"],["DuckDB","9"]]} ``` -### Isolation (optional) +### Isolation `ayb` allows multiple users to run queries against databases that are stored on the same machine. Isolation enables you to prevent one user from accessing another user's data, and allows you to restrict the @@ -159,13 +159,11 @@ flag and sets to `0` in order to prevent users from corrupting the database or attaching to other databases on the filesystem. -For further isolation (which is recommended by the [SQLite -community](https://sqlite.org/forum/forumpost?udc=1&name=0f77e9f96e), -`ayb` uses [nsjail](https://nsjail.dev/) to isolate each query's -filesystem access and resources. When this form of isolation is -enabled, `ayb` starts a new `nsjail`-managed process to execute the -query against the database. We have not yet benchmarked the -performance overhead of this approach. +For further isolation, `ayb` uses [nsjail](https://nsjail.dev/) to +isolate each query's filesystem access and resources. When this form +of isolation is enabled, `ayb` starts a new `nsjail`-managed process +to execute the query against the database. We have not yet benchmarked +the performance overhead of this approach. To enable isolation, you must first build `nsjail`, which you can do through [scripts/build_nsjail.sh](scripts/build_nsjail.sh). once you diff --git a/tests/nsjail b/tests/nsjail deleted file mode 100755 index 004739be452b156a748b18dd15a14a4b406dd86a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 895736 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 z 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%0AB4@t4oLsp>POe-R+i_sO4szz3 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

yZtGfAN<#Ngxzsh6ph;dZ4TlQ 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 lb@k^r|BqPzuUP<4 Date: Mon, 25 Dec 2023 16:55:27 +0000 Subject: [PATCH 21/28] Testing docs and fmt --- README.md | 23 +++++++++++++++++++++++ src/hosted_db/sandbox.rs | 18 ++++++++++-------- 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 7f2c29cf..0ac93a3e 100644 --- a/README.md +++ b/README.md @@ -175,6 +175,29 @@ have a path to the `nsjail` binary, add the following to your nsjail_path = "path/to/nsjail" ``` +## Testing +`ayb` is largely tested through [end-to-end +tests](tests/e2e.rs) that mimic as realistic an environment as +possible. Individual modules may also provide more specific unit +tests. To run the tests, type: + +```bash +cargo test --verbose +``` + +Because the tests cover [isolation](#isolation), an `nsjail` binary is +required for running the end-to-end tests. To build and place `nsjail` +in the appropriate directory, run: + +```bash +scripts/build_nsjail.sh && mv nsjail tests +``` + +Note that `nsjail` depends on a few other packages. If you run into +issues building it, it might be helpful to see its +[Dockerfile](https://github.com/google/nsjail/blob/master/Dockerfile) +to get a sense fo those requirements. + ## FAQ ### Who is `ayb` for? diff --git a/src/hosted_db/sandbox.rs b/src/hosted_db/sandbox.rs index bddf035e..18cc49bb 100644 --- a/src/hosted_db/sandbox.rs +++ b/src/hosted_db/sandbox.rs @@ -77,11 +77,17 @@ pub async fn run_in_sandbox( let db_file_name = absolute_db_path .file_name() .ok_or(AybError::Other { - message: format!("Could not parse file name from path: {}", absolute_db_path.display()), + message: format!( + "Could not parse file name from path: {}", + absolute_db_path.display() + ), })? .to_str() .ok_or(AybError::Other { - message: format!("Could not convert path to string: {}", absolute_db_path.display()), + message: format!( + "Could not convert path to string: {}", + absolute_db_path.display() + ), })?; let tmp_db_path = Path::new("/tmp").join(db_file_name); let db_file_mapping = format!("{}:{}", absolute_db_path.display(), tmp_db_path.display()); @@ -125,12 +131,8 @@ pub async fn run_in_sandbox( // read stdout and stderr from process let mut stdout = Vec::new(); let mut stderr = Vec::new(); - stdout_reader - .read_to_end(&mut stdout) - .await?; - stderr_reader - .read_to_end(&mut stderr) - .await?; + stdout_reader.read_to_end(&mut stdout).await?; + stderr_reader.read_to_end(&mut stderr).await?; let stdout = String::from_utf8_lossy(&stdout).into_owned(); let stderr = String::from_utf8_lossy(&stderr).into_owned(); From 6822d7d2bf62c3f4bb437eca78c5ef5452c31a4e Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Mon, 25 Dec 2023 16:57:49 +0000 Subject: [PATCH 22/28] Fix build command --- .github/workflows/tests.yml | 2 +- .gitignore | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b199bad5..77df34f6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -38,6 +38,6 @@ jobs: - name: Ensure clippy finds no issues run: cargo clippy - name: Build nsjail - run: scripts/build_nsjail && mv nsjail tests/ + run: scripts/build_nsjail.sh && mv nsjail tests/ - name: Run tests run: cargo test --verbose diff --git a/.gitignore b/.gitignore index 09ffc5e4..5f869f57 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,4 @@ tests/ayb_data_postgres tests/ayb_data_sqlite tests/smtp_data_10025 tests/smtp_data_10026 -tests/nsjail \ No newline at end of file +tests/nsjail From db13cb836638f479c5713468efb505ff6f6daec3 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Mon, 25 Dec 2023 17:01:56 +0000 Subject: [PATCH 23/28] nsjail requirements --- .github/workflows/tests.yml | 2 ++ README.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 77df34f6..af8d4f69 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -37,6 +37,8 @@ jobs: run: cargo fmt --check - name: Ensure clippy finds no issues run: cargo clippy + - name: Install nsjail requirements + run: sudo apt-get install -y libprotobuf-dev protobuf-compiler - name: Build nsjail run: scripts/build_nsjail.sh && mv nsjail tests/ - name: Run tests diff --git a/README.md b/README.md index 0ac93a3e..48a96ce9 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ required for running the end-to-end tests. To build and place `nsjail` in the appropriate directory, run: ```bash -scripts/build_nsjail.sh && mv nsjail tests +scripts/build_nsjail.sh && mv nsjail tests/ ``` Note that `nsjail` depends on a few other packages. If you run into From 59f497461432bb0b2f864e2c249b5d4654f963ad Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Mon, 25 Dec 2023 17:04:47 +0000 Subject: [PATCH 24/28] More nsjail requirements --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index af8d4f69..01df0d78 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -38,7 +38,7 @@ jobs: - name: Ensure clippy finds no issues run: cargo clippy - name: Install nsjail requirements - run: sudo apt-get install -y libprotobuf-dev protobuf-compiler + run: sudo apt-get install -y libprotobuf-dev protobuf-compiler libnl-route-3-dev - name: Build nsjail run: scripts/build_nsjail.sh && mv nsjail tests/ - name: Run tests From ce976996e715e30b30a8a584faac3322589089d6 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Mon, 25 Dec 2023 17:19:19 +0000 Subject: [PATCH 25/28] Docs cleanup --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 48a96ce9..3d3b0897 100644 --- a/README.md +++ b/README.md @@ -166,9 +166,14 @@ to execute the query against the database. We have not yet benchmarked the performance overhead of this approach. To enable isolation, you must first build `nsjail`, which you can do -through [scripts/build_nsjail.sh](scripts/build_nsjail.sh). once you -have a path to the `nsjail` binary, add the following to your -`ayb.toml`: +through [scripts/build_nsjail.sh](scripts/build_nsjail.sh). Note that +`nsjail` depends on a few other packages. If you run into issues +building it, it might be helpful to see its +[Dockerfile](https://github.com/google/nsjail/blob/master/Dockerfile) +to get a sense of those requirements. + +Once you have a path to the +`nsjail` binary, add the following to your `ayb.toml`: ```toml [isolation] @@ -193,11 +198,6 @@ in the appropriate directory, run: scripts/build_nsjail.sh && mv nsjail tests/ ``` -Note that `nsjail` depends on a few other packages. If you run into -issues building it, it might be helpful to see its -[Dockerfile](https://github.com/google/nsjail/blob/master/Dockerfile) -to get a sense fo those requirements. - ## FAQ ### Who is `ayb` for? From a37f9ab0d4ffe0d15aa1dadb33d5273b80d5b240 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Mon, 25 Dec 2023 22:01:38 +0000 Subject: [PATCH 26/28] Clippy and code review --- src/bin/ayb_isolated_runner.rs | 3 +-- src/hosted_db.rs | 4 ++-- src/hosted_db/sqlite.rs | 12 +++++++----- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/bin/ayb_isolated_runner.rs b/src/bin/ayb_isolated_runner.rs index 73e5282a..22c3026f 100644 --- a/src/bin/ayb_isolated_runner.rs +++ b/src/bin/ayb_isolated_runner.rs @@ -1,5 +1,4 @@ use ayb::hosted_db::sqlite::query_sqlite; -use serde_json; use std::env; use std::path::PathBuf; @@ -14,7 +13,7 @@ use std::path::PathBuf; fn main() -> Result<(), serde_json::Error> { let args: Vec = env::args().collect(); let db_file = &args[1]; - let query = (&args[2..]).to_vec(); + let query = (args[2..]).to_vec(); let result = query_sqlite(&PathBuf::from(db_file), &query.join(" ")); match result { Ok(result) => println!("{}", serde_json::to_string(&result)?), diff --git a/src/hosted_db.rs b/src/hosted_db.rs index ca48f093..7268374d 100644 --- a/src/hosted_db.rs +++ b/src/hosted_db.rs @@ -4,7 +4,7 @@ pub mod sqlite; use crate::ayb_db::models::DBType; use crate::error::AybError; -use crate::hosted_db::sqlite::run_sqlite_query; +use crate::hosted_db::sqlite::potentially_isolated_sqlite_query; use crate::http::structs::AybConfigIsolation; use prettytable::{format, Cell, Row, Table}; use serde::{Deserialize, Serialize}; @@ -62,7 +62,7 @@ pub async fn run_query( isolation: &Option, ) -> Result { match db_type { - DBType::Sqlite => Ok(run_sqlite_query(path, query, isolation).await?), + DBType::Sqlite => Ok(potentially_isolated_sqlite_query(path, query, isolation).await?), _ => Err(AybError::Other { message: "Unsupported DB type".to_string(), }), diff --git a/src/hosted_db/sqlite.rs b/src/hosted_db/sqlite.rs index 96515092..64fc2046 100644 --- a/src/hosted_db/sqlite.rs +++ b/src/hosted_db/sqlite.rs @@ -48,7 +48,9 @@ pub fn query_sqlite(path: &PathBuf, query: &str) -> Result, @@ -57,17 +59,17 @@ pub async fn run_sqlite_query( Some(isolation) => { let result = run_in_sandbox(Path::new(&isolation.nsjail_path), path, query).await?; - if result.stderr.len() > 0 { + if !result.stderr.is_empty() { let error: AybError = serde_json::from_str(&result.stderr)?; Err(error) } else if result.status != 0 { Err(AybError::Other { message: format!( "Error status from sandboxed query runner: {}", - result.status.to_string() + result.status ), }) - } else if result.stdout.len() > 0 { + } else if !result.stdout.is_empty() { let query_result: QueryResult = serde_json::from_str(&result.stdout)?; Ok(query_result) } else { @@ -76,6 +78,6 @@ pub async fn run_sqlite_query( }) } } - None => Ok(query_sqlite(path, query)?.into()), + None => Ok(query_sqlite(path, query)?), } } From 3d07ada01b3f3419e3f934151b5bdec8a7fcaad3 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Tue, 26 Dec 2023 03:26:41 +0000 Subject: [PATCH 27/28] Warn if not fully isolated --- src/http/server.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/http/server.rs b/src/http/server.rs index 02d67872..e0a71965 100644 --- a/src/http/server.rs +++ b/src/http/server.rs @@ -92,6 +92,9 @@ pub async fn run_server(config_path: &PathBuf) -> std::io::Result<()> { }; println!("Starting server {}:{}...", ayb_conf.host, ayb_conf.port); + if ayb_conf.isolation.is_none() { + println!("Note: Server is running without full isolation. Read more about isolating users from one-another: https://github.com/marcua/ayb/#isolation"); + } HttpServer::new(move || { let cors = build_cors(ayb_conf.cors.clone()); From ea307772c7bc24fcb68278a2f1c3ce6acdf9e6c8 Mon Sep 17 00:00:00 2001 From: Adam Marcus Date: Wed, 27 Dec 2023 00:45:30 +0000 Subject: [PATCH 28/28] Clean up for clarity --- src/hosted_db/sqlite.rs | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/hosted_db/sqlite.rs b/src/hosted_db/sqlite.rs index 64fc2046..4b438ca3 100644 --- a/src/hosted_db/sqlite.rs +++ b/src/hosted_db/sqlite.rs @@ -55,29 +55,29 @@ pub async fn potentially_isolated_sqlite_query( query: &str, isolation: &Option, ) -> Result { - match isolation { - Some(isolation) => { - let result = run_in_sandbox(Path::new(&isolation.nsjail_path), path, query).await?; + if let Some(isolation) = isolation { + let result = run_in_sandbox(Path::new(&isolation.nsjail_path), path, query).await?; - if !result.stderr.is_empty() { - let error: AybError = serde_json::from_str(&result.stderr)?; - Err(error) - } else if result.status != 0 { - Err(AybError::Other { - message: format!( - "Error status from sandboxed query runner: {}", - result.status - ), - }) - } else if !result.stdout.is_empty() { - let query_result: QueryResult = serde_json::from_str(&result.stdout)?; - Ok(query_result) - } else { - Err(AybError::Other { - message: "No results from sandboxed query runner".to_string(), - }) - } + if !result.stderr.is_empty() { + let error: AybError = serde_json::from_str(&result.stderr)?; + return Err(error); + } else if result.status != 0 { + return Err(AybError::Other { + message: format!( + "Error status from sandboxed query runner: {}", + result.status + ), + }); + } else if !result.stdout.is_empty() { + let query_result: QueryResult = serde_json::from_str(&result.stdout)?; + return Ok(query_result); + } else { + return Err(AybError::Other { + message: "No results from sandboxed query runner".to_string(), + }); } - None => Ok(query_sqlite(path, query)?), } + + // No isolation configuration, so run the query without a sandbox. + Ok(query_sqlite(path, query)?) }