]> jfr.im git - irc/atheme/atheme.git/commitdiff
update convertrservtoatheme origin/jess/update-convertrservtoatheme
authorjesopo <redacted>
Tue, 10 Jan 2023 00:29:00 +0000 (00:29 +0000)
committerjesopo <redacted>
Tue, 10 Jan 2023 00:29:00 +0000 (00:29 +0000)
contrib/convertrservtoatheme/Cargo.lock
contrib/convertrservtoatheme/Cargo.toml
contrib/convertrservtoatheme/src/main.rs

index 6aa7754e5a6c091bded9813641e636b01223af24..8f494ed053653ea46f5c6a9931ed2a2ddb6fef3a 100644 (file)
-[root]
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "ahash"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+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 = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
 name = "convertrservtoatheme"
 version = "0.1.0"
 dependencies = [
- "rusqlite 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "rusqlite",
 ]
 
 [[package]]
-name = "bitflags"
-version = "0.9.1"
+name = "fallible-iterator"
+version = "0.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7"
 
 [[package]]
-name = "kernel32-sys"
-version = "0.2.2"
+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.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
 dependencies = [
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+ "cfg-if",
+ "libc",
+ "wasi",
 ]
 
 [[package]]
-name = "libc"
-version = "0.2.29"
+name = "hashbrown"
+version = "0.12.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+dependencies = [
+ "ahash",
+]
 
 [[package]]
-name = "libsqlite3-sys"
+name = "hashlink"
 version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa"
 dependencies = [
- "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
- "vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "hashbrown",
 ]
 
 [[package]]
-name = "linked-hash-map"
-version = "0.4.2"
+name = "libc"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
 
 [[package]]
-name = "lru-cache"
-version = "0.1.1"
+name = "libsqlite3-sys"
+version = "0.25.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29f835d03d717946d28b1d1ed632eb6f0e24a299388ee623d0c23118d3e8a7fa"
 dependencies = [
- "linked-hash-map 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "pkg-config",
+ "vcpkg",
 ]
 
 [[package]]
-name = "pkg-config"
-version = "0.3.9"
+name = "once_cell"
+version = "1.17.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66"
 
 [[package]]
-name = "redox_syscall"
-version = "0.1.28"
+name = "pkg-config"
+version = "0.3.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
 
 [[package]]
 name = "rusqlite"
-version = "0.12.0"
+version = "0.28.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "01e213bc3ecb39ac32e81e51ebe31fd888a940515173e3a18a35f8c6e896422a"
 dependencies = [
- "bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "libsqlite3-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "time 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
+ "bitflags",
+ "fallible-iterator",
+ "fallible-streaming-iterator",
+ "hashlink",
+ "libsqlite3-sys",
+ "smallvec",
 ]
 
 [[package]]
-name = "time"
-version = "0.1.38"
+name = "smallvec"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-dependencies = [
- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
- "libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "redox_syscall 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)",
- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-]
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
 
 [[package]]
 name = "vcpkg"
 version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b"
 
 [[package]]
-name = "winapi"
-version = "0.2.8"
+name = "version_check"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
 
 [[package]]
-name = "winapi-build"
-version = "0.1.1"
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[metadata]
-"checksum bitflags 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4efd02e230a02e18f92fc2735f44597385ed02ad8f831e7c1c1156ee5e1ab3a5"
-"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
-"checksum libc 0.2.29 (registry+https://github.com/rust-lang/crates.io-index)" = "8a014d9226c2cc402676fbe9ea2e15dd5222cd1dd57f576b5b283178c944a264"
-"checksum libsqlite3-sys 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "370090ad578ba845a3ad4f383ceb3deba7abd51ab1915ad1f2c982cc6035e31c"
-"checksum linked-hash-map 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7860ec297f7008ff7a1e3382d7f7e1dcd69efc94751a2284bafc3d013c2aa939"
-"checksum lru-cache 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4d06ff7ff06f729ce5f4e227876cb88d10bc59cd4ae1e09fbb2bde15c850dc21"
-"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903"
-"checksum redox_syscall 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "ddab7acd8e7bf3e49dfdf78ac1209b992329eb2f66e0bf672ab49c70a76d1d68"
-"checksum rusqlite 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ffaf393ccdac5580092a4d8eb2edffbffe9a8c4484c62d8a0fcac99bc3718566"
-"checksum time 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)" = "d5d788d3aa77bc0ef3e9621256885555368b47bd495c13dd2e7413c89f845520"
-"checksum vcpkg 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9e0a7d8bed3178a8fb112199d466eeca9ed09a14ba8ad67718179b4fd5487d0b"
-"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
-"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
index 0ca3ee48b171f78dbcfd0c27efc07aa7bd160e35..668583f76cac42cc7a1a80cac2ba3a05bc3f0bd9 100644 (file)
@@ -1,7 +1,8 @@
 [package]
 name = "convertrservtoatheme"
 version = "0.1.0"
-authors = ["Jilles Tjoelker <jilles@stack.nl>"]
+edition = "2021"
+authors = ["Jilles Tjoelker <jilles@stack.nl>", "Jess Porter <me@jesopo.uk>"]
 
 [dependencies]
-rusqlite = "0.12.0"
+rusqlite = "0.28.0"
index 9dfee0809ab838b944d46e4df054c76df0f23fe3..612013d362452719d72f25a7d9b2a045866a4d7e 100644 (file)
@@ -1,5 +1,3 @@
-extern crate rusqlite;
-
 use std::env::args_os;
 use std::ffi::OsStr;
 
@@ -42,19 +40,18 @@ mod flag_constants {
 use flag_constants::*;
 
 fn process(fname: &OsStr) -> rusqlite::Result<()> {
-    let conn = Connection::open_with_flags(fname, rusqlite::SQLITE_OPEN_READ_ONLY)?;
+    let conn = Connection::open_with_flags(fname, rusqlite::OpenFlags::SQLITE_OPEN_READ_ONLY)?;
     println!("DBV 8");
     println!("CF +AFORVbfiorstv");
     let mut stmt = conn.prepare("SELECT username, password, email, reg_time, last_time, flags FROM users;")?;
-    let mut user_rows = stmt.query(&[])?;
-    while let Some(user_result) = user_rows.next() {
-        let u = user_result?;
-        let username: String = u.get(0);
-        let password: String = u.get(1);
-        let mut email: String = u.get(2);
-        let reg_time: i64 = u.get(3);
-        let last_time: i64 = u.get(4);
-        let rs_flags: u32 = u.get(5);
+    let mut user_rows = stmt.query([])?;
+    while let Some(user_result) = user_rows.next()? {
+        let username: String = user_result.get(0)?;
+        let password: String = user_result.get(1)?;
+        let mut email: String = user_result.get(2)?;
+        let reg_time: i64 = user_result.get(3)?;
+        let last_time: i64 = user_result.get(4)?;
+        let rs_flags: u32 = user_result.get(5)?;
         if email.is_empty() {
             email.push_str("noemail");
         }
@@ -75,27 +72,25 @@ fn process(fname: &OsStr) -> rusqlite::Result<()> {
             reg_time, last_time, ath_flags);
     }
     let mut stmt = conn.prepare("SELECT nickname, username, reg_time, last_time FROM nicks;")?;
-    let mut nick_rows = stmt.query(&[])?;
-    while let Some(nick_result) = nick_rows.next() {
-        let n = nick_result?;
-        let nickname: String = n.get(0);
-        let username: String = n.get(1);
-        let reg_time: i64 = n.get(2);
-        let last_time: i64 = n.get(3);
+    let mut nick_rows = stmt.query([])?;
+    while let Some(nick_result) = nick_rows.next()? {
+        let nickname: String = nick_result.get(0)?;
+        let username: String = nick_result.get(1)?;
+        let reg_time: i64 = nick_result.get(2)?;
+        let last_time: i64 = nick_result.get(3)?;
         println!("MN {} {} {} {}", username, nickname, reg_time, last_time);
     }
     let mut stmt = conn.prepare("SELECT chname, topic, url, enforcemodes, tsinfo, reg_time, last_time, flags FROM channels;")?;
-    let mut chan_rows = stmt.query(&[])?;
-    while let Some(chan_result) = chan_rows.next() {
-        let c = chan_result?;
-        let chname: String = c.get(0);
-        let topic: String = c.get(1);
-        let url: String = c.get(2);
-        let enforcemodes: String = c.get(3);
-        let tsinfo: i64 = c.get(4);
-        let reg_time: i64 = c.get(5);
-        let last_time: i64 = c.get(6);
-        let rs_flags: u32 = c.get(7);
+    let mut chan_rows = stmt.query([])?;
+    while let Some(chan_result) = chan_rows.next()? {
+        let chname: String = chan_result.get(0)?;
+        let topic: String = chan_result.get(1)?;
+        let url: String = chan_result.get(2)?;
+        let enforcemodes: String = chan_result.get(3)?;
+        let tsinfo: i64 = chan_result.get(4)?;
+        let reg_time: i64 = chan_result.get(5)?;
+        let last_time: i64 = chan_result.get(6)?;
+        let rs_flags: u32 = chan_result.get(7)?;
         let mut ath_mlock = 0;
         if enforcemodes.contains('i') {
             ath_mlock |= CMODE_INVITE;
@@ -140,13 +135,12 @@ fn process(fname: &OsStr) -> rusqlite::Result<()> {
         }
     }
     let mut stmt = conn.prepare("SELECT chname, username, level, flags, suspend FROM members;")?;
-    let mut chanuser_rows = stmt.query(&[])?;
-    while let Some(chanuser_result) = chanuser_rows.next() {
-        let cu = chanuser_result?;
-        let chname: String = cu.get(0);
-        let username: String = cu.get(1);
-        let rs_level: i32 = cu.get(2);
-        let rs_flags: u32 = cu.get(3);
+    let mut chanuser_rows = stmt.query([])?;
+    while let Some(chanuser_result) = chanuser_rows.next()? {
+        let chname: String = chanuser_result.get(0)?;
+        let username: String = chanuser_result.get(1)?;
+        let rs_level: i32 = chanuser_result.get(2)?;
+        let rs_flags: u32 = chanuser_result.get(3)?;
         let mut ath_level = String::new();
         if rs_level >= 1 {
             ath_level.push_str("iv");
@@ -181,13 +175,12 @@ fn process(fname: &OsStr) -> rusqlite::Result<()> {
         println!("CA {} {} +{} {}", chname, username, ath_level, 0);
     }
     let mut stmt = conn.prepare("SELECT chname, mask, reason FROM bans;")?;
-    let mut chanban_rows = stmt.query(&[])?;
-    while let Some(chanban_result) = chanban_rows.next() {
-        let cb = chanban_result?;
-        let chname: String = cb.get(0);
-        let mask: String = cb.get(1);
-        let reason: String = cb.get(2);
-        println!("CA {} {} +{} {}", chname, mask, "b", 0);
+    let mut chanban_rows = stmt.query([])?;
+    while let Some(chanban_result) = chanban_rows.next()? {
+        let chname: String = chanban_result.get(0)?;
+        let mask: String = chanban_result.get(1)?;
+        let reason: String = chanban_result.get(2)?;
+        println!("CA {} {} +b {}", chname, mask, 0);
         if !reason.is_empty() {
             println!("MDA {}:{} reason {}", chname, mask, reason);
         }