summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x].envrc0
-rw-r--r--[-rwxr-xr-x].github/workflows/build_where.yml0
-rw-r--r--[-rwxr-xr-x].gitignore0
-rw-r--r--[-rwxr-xr-x].idea/.gitignore0
-rw-r--r--.idea/deployment.xml42
-rw-r--r--[-rwxr-xr-x].idea/discord.xml0
-rw-r--r--[-rwxr-xr-x].idea/inspectionProfiles/Project_Default.xml0
-rw-r--r--[-rwxr-xr-x].idea/modules.xml0
-rw-r--r--[-rwxr-xr-x].idea/vcs.xml0
-rw-r--r--[-rwxr-xr-x].idea/where-rs.iml0
-rw-r--r--[-rwxr-xr-x]Cargo.lock14
-rw-r--r--[-rwxr-xr-x]Cargo.toml1
-rw-r--r--[-rwxr-xr-x]LICENSE0
-rw-r--r--[-rwxr-xr-x]TODO0
-rw-r--r--[-rwxr-xr-x]build.sh0
-rw-r--r--[-rwxr-xr-x]flake.lock0
-rw-r--r--[-rwxr-xr-x]flake.nix0
-rw-r--r--[-rwxr-xr-x]shell.nix0
-rw-r--r--[-rwxr-xr-x]where-rs/Cargo.toml2
-rw-r--r--[-rwxr-xr-x]where-rs/default_config.toml0
-rw-r--r--[-rwxr-xr-x]where-rs/src/args.rs0
-rw-r--r--[-rwxr-xr-x]where-rs/src/config.rs31
-rw-r--r--[-rwxr-xr-x]where-rs/src/main.rs0
-rw-r--r--[-rwxr-xr-x]where-rs/src/servers.rs0
-rw-r--r--[-rwxr-xr-x]where-rs/src/ui.rs0
-rw-r--r--[-rwxr-xr-x]whered/Cargo.toml2
-rw-r--r--[-rwxr-xr-x]whered/services/dev.equestria.whered.plist0
-rw-r--r--[-rwxr-xr-x]whered/services/whered0
-rw-r--r--[-rwxr-xr-x]whered/services/whered.service0
-rw-r--r--[-rwxr-xr-x]whered/src/args.rs0
-rw-r--r--[-rwxr-xr-x]whered/src/main.rs0
-rw-r--r--[-rwxr-xr-x]whrd/Cargo.toml6
-rw-r--r--[-rwxr-xr-x]whrd/src/error.rs0
-rw-r--r--[-rwxr-xr-x]whrd/src/lib.rs9
-rw-r--r--[-rwxr-xr-x]whrd/src/parse.rs0
35 files changed, 91 insertions, 16 deletions
diff --git a/.envrc b/.envrc
index af0cc93..af0cc93 100755..100644
--- a/.envrc
+++ b/.envrc
diff --git a/.github/workflows/build_where.yml b/.github/workflows/build_where.yml
index 684fcda..684fcda 100755..100644
--- a/.github/workflows/build_where.yml
+++ b/.github/workflows/build_where.yml
diff --git a/.gitignore b/.gitignore
index 6abfe1b..6abfe1b 100755..100644
--- a/.gitignore
+++ b/.gitignore
diff --git a/.idea/.gitignore b/.idea/.gitignore
index 13566b8..13566b8 100755..100644
--- a/.idea/.gitignore
+++ b/.idea/.gitignore
diff --git a/.idea/deployment.xml b/.idea/deployment.xml
new file mode 100644
index 0000000..15c3750
--- /dev/null
+++ b/.idea/deployment.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="PublishConfigData" remoteFilesAllowedToDisappearOnAutoupload="false">
+ <serverData>
+ <paths name="BridleOS">
+ <serverdata>
+ <mappings>
+ <mapping local="$PROJECT_DIR$" web="/" />
+ </mappings>
+ </serverdata>
+ </paths>
+ <paths name="dabssi">
+ <serverdata>
+ <mappings>
+ <mapping local="$PROJECT_DIR$" web="/" />
+ </mappings>
+ </serverdata>
+ </paths>
+ <paths name="hudgens">
+ <serverdata>
+ <mappings>
+ <mapping local="$PROJECT_DIR$" web="/" />
+ </mappings>
+ </serverdata>
+ </paths>
+ <paths name="watson">
+ <serverdata>
+ <mappings>
+ <mapping local="$PROJECT_DIR$" web="/" />
+ </mappings>
+ </serverdata>
+ </paths>
+ <paths name="watson-legacy">
+ <serverdata>
+ <mappings>
+ <mapping local="$PROJECT_DIR$" web="/" />
+ </mappings>
+ </serverdata>
+ </paths>
+ </serverData>
+ </component>
+</project> \ No newline at end of file
diff --git a/.idea/discord.xml b/.idea/discord.xml
index 3aef922..3aef922 100755..100644
--- a/.idea/discord.xml
+++ b/.idea/discord.xml
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
index 37308ce..37308ce 100755..100644
--- a/.idea/inspectionProfiles/Project_Default.xml
+++ b/.idea/inspectionProfiles/Project_Default.xml
diff --git a/.idea/modules.xml b/.idea/modules.xml
index d2b0049..d2b0049 100755..100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
index 35eb1dd..35eb1dd 100755..100644
--- a/.idea/vcs.xml
+++ b/.idea/vcs.xml
diff --git a/.idea/where-rs.iml b/.idea/where-rs.iml
index 9778462..9778462 100755..100644
--- a/.idea/where-rs.iml
+++ b/.idea/where-rs.iml
diff --git a/Cargo.lock b/Cargo.lock
index a4029e2..f3c4d44 100755..100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -189,9 +189,9 @@ checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
[[package]]
name = "coreutils_core"
-version = "0.1.1"
+version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9d8005352bd31280d624a3fb5f0dca74023256bab70d31c1556ea6a37e66f3a"
+checksum = "fec76ea324887aa9a28bccb604b48b0ce21a981dd256921511aefba336bdbda4"
dependencies = [
"bstr",
"libc",
@@ -542,9 +542,9 @@ dependencies = [
[[package]]
name = "time"
-version = "0.2.27"
+version = "0.2.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
+checksum = "bcdaeea317915d59b2b4cd3b5efcd156c309108664277793f5351700c02ce98b"
dependencies = [
"const_fn",
"libc",
@@ -686,7 +686,7 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
[[package]]
name = "where-rs"
-version = "1.1.0"
+version = "1.2.0"
dependencies = [
"chrono",
"clap",
@@ -697,7 +697,7 @@ dependencies = [
[[package]]
name = "whered"
-version = "1.1.0"
+version = "1.2.0"
dependencies = [
"clap",
"whrd",
@@ -705,7 +705,7 @@ dependencies = [
[[package]]
name = "whrd"
-version = "1.1.0"
+version = "1.2.0"
dependencies = [
"coreutils_core",
]
diff --git a/Cargo.toml b/Cargo.toml
index a8b5c47..37f3431 100755..100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,4 +1,5 @@
[workspace]
+default-members = ["where-rs", "whrd"]
members = ["where-rs", "whered", "whrd"]
resolver = "2"
diff --git a/LICENSE b/LICENSE
index f9058f8..f9058f8 100755..100644
--- a/LICENSE
+++ b/LICENSE
diff --git a/TODO b/TODO
index 4e5a810..4e5a810 100755..100644
--- a/TODO
+++ b/TODO
diff --git a/build.sh b/build.sh
index 551d7fb..551d7fb 100755..100644
--- a/build.sh
+++ b/build.sh
diff --git a/flake.lock b/flake.lock
index 5eac8ff..5eac8ff 100755..100644
--- a/flake.lock
+++ b/flake.lock
diff --git a/flake.nix b/flake.nix
index 3780814..3780814 100755..100644
--- a/flake.nix
+++ b/flake.nix
diff --git a/shell.nix b/shell.nix
index 3755099..3755099 100755..100644
--- a/shell.nix
+++ b/shell.nix
diff --git a/where-rs/Cargo.toml b/where-rs/Cargo.toml
index 9f4aeaf..a15883a 100755..100644
--- a/where-rs/Cargo.toml
+++ b/where-rs/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "where-rs"
-version = "1.1.0"
+version = "1.2.0"
edition = "2021"
description = "A small Rust client for the WHRD/UDP protocol, to access a list of logged in users on multiple systems at once."
authors = ["Starscouts", "ryze132"]
diff --git a/where-rs/default_config.toml b/where-rs/default_config.toml
index c0c65a9..c0c65a9 100755..100644
--- a/where-rs/default_config.toml
+++ b/where-rs/default_config.toml
diff --git a/where-rs/src/args.rs b/where-rs/src/args.rs
index fd08f36..fd08f36 100755..100644
--- a/where-rs/src/args.rs
+++ b/where-rs/src/args.rs
diff --git a/where-rs/src/config.rs b/where-rs/src/config.rs
index c45ba93..ae261d3 100755..100644
--- a/where-rs/src/config.rs
+++ b/where-rs/src/config.rs
@@ -47,7 +47,8 @@ impl Default for GlobalConfig {
impl Config {
fn get_config_locations() -> Vec<PathBuf> {
- vec![
+ #[cfg(unix)]
+ return vec![
{
let mut path = PathBuf::new();
@@ -70,6 +71,34 @@ impl Config {
path.push(CONFIG_FILENAME);
path
}
+ ];
+
+ #[cfg(not(unix))]
+ vec![
+ {
+ let mut path = PathBuf::new();
+
+ if let Ok(home) = env::var("APPDATA") {
+ path.push(home);
+ } else if let Ok(home) = env::var("USERPROFILE") {
+ path.push(home);
+ path.push("AppData");
+ path.push("Roaming")
+ } else {
+ path.push("\\");
+ }
+
+ path.push(CONFIG_FILENAME);
+ path
+ },
+ {
+ let mut path = PathBuf::new();
+
+ path.push("C:\\");
+ path.push("ProgramData");
+ path.push(CONFIG_FILENAME);
+ path
+ }
]
}
diff --git a/where-rs/src/main.rs b/where-rs/src/main.rs
index a63c16d..a63c16d 100755..100644
--- a/where-rs/src/main.rs
+++ b/where-rs/src/main.rs
diff --git a/where-rs/src/servers.rs b/where-rs/src/servers.rs
index 9286cf3..9286cf3 100755..100644
--- a/where-rs/src/servers.rs
+++ b/where-rs/src/servers.rs
diff --git a/where-rs/src/ui.rs b/where-rs/src/ui.rs
index 572d8ba..572d8ba 100755..100644
--- a/where-rs/src/ui.rs
+++ b/where-rs/src/ui.rs
diff --git a/whered/Cargo.toml b/whered/Cargo.toml
index f29949c..3dbc1ab 100755..100644
--- a/whered/Cargo.toml
+++ b/whered/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "whered"
-version = "1.1.0"
+version = "1.2.0"
edition = "2021"
description = "A small Rust server for the WHRD/UDP protocol, to access a list of logged in users on multiple systems at once."
authors = ["Starscouts", "ryze132"]
diff --git a/whered/services/dev.equestria.whered.plist b/whered/services/dev.equestria.whered.plist
index 72fdb2c..72fdb2c 100755..100644
--- a/whered/services/dev.equestria.whered.plist
+++ b/whered/services/dev.equestria.whered.plist
diff --git a/whered/services/whered b/whered/services/whered
index a38a950..a38a950 100755..100644
--- a/whered/services/whered
+++ b/whered/services/whered
diff --git a/whered/services/whered.service b/whered/services/whered.service
index cee24eb..cee24eb 100755..100644
--- a/whered/services/whered.service
+++ b/whered/services/whered.service
diff --git a/whered/src/args.rs b/whered/src/args.rs
index b3f93f0..b3f93f0 100755..100644
--- a/whered/src/args.rs
+++ b/whered/src/args.rs
diff --git a/whered/src/main.rs b/whered/src/main.rs
index 9d2c808..9d2c808 100755..100644
--- a/whered/src/main.rs
+++ b/whered/src/main.rs
diff --git a/whrd/Cargo.toml b/whrd/Cargo.toml
index d1602a8..7d797ea 100755..100644
--- a/whrd/Cargo.toml
+++ b/whrd/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "whrd"
-version = "1.1.0"
+version = "1.2.0"
edition = "2021"
description = "A Rust library to work with the WHRD/UDP protocol, a protocol to access a list of logged in users on multiple systems at once."
authors = ["Starscouts", "ryze132"]
@@ -9,5 +9,5 @@ authors = ["Starscouts", "ryze132"]
name = "whrd"
crate-type = ["dylib", "lib"]
-[dependencies]
-coreutils_core = "0.1.1"
+[target."cfg(unix)".dependencies]
+coreutils_core = "0.1.2"
diff --git a/whrd/src/error.rs b/whrd/src/error.rs
index 931aefe..931aefe 100755..100644
--- a/whrd/src/error.rs
+++ b/whrd/src/error.rs
diff --git a/whrd/src/lib.rs b/whrd/src/lib.rs
index fb45f74..50c9ef8 100755..100644
--- a/whrd/src/lib.rs
+++ b/whrd/src/lib.rs
@@ -1,5 +1,6 @@
use std::io::Cursor;
-use std::path::PathBuf;
+
+#[cfg(unix)]
use coreutils_core::os::utmpx::*;
use crate::error::{WhereResult, EncodeDecodeResult, EncodeDecodeError};
@@ -34,6 +35,7 @@ pub struct SessionCollection {
}
impl SessionCollection {
+ #[cfg(unix)]
pub fn fetch() -> Self {
let inner: Vec<Session> = UtmpxSet::system()
.into_iter()
@@ -174,6 +176,7 @@ impl Session {
}
}
+#[cfg(unix)]
impl From<Utmpx> for Session {
fn from(utmpx: Utmpx) -> Self {
// BStr doesn't have a known size at compile time, so we can't use it instead of String
@@ -198,8 +201,8 @@ impl From<Utmpx> for Session {
// active when they are not.
let mut path = PathBuf::from("/dev");
path.push(utmpx.device_name().to_string());
- let active = utmpx.entry_type() == UtmpxKind::UserProcess && path.exists();
- let login_time = utmpx.timeval().tv_sec;
+ let active = utmpx.entry_type() == UtmpxKind::UserProcess && utmpx.is_active();
+ let login_time = utmpx.timeval().tv_sec as i64;
Self {
host: None,
diff --git a/whrd/src/parse.rs b/whrd/src/parse.rs
index 83542d8..83542d8 100755..100644
--- a/whrd/src/parse.rs
+++ b/whrd/src/parse.rs