@@ -1,6 +1,10 @@
|
|||||||
# glyph
|
# glyph
|
||||||
|
|
||||||
*Glyph* is an Authelia user file database manager. Because files are light but unwieldy, and LDAP is convenient but complex.
|
*Glyph* was an Authelia user file database manager. Because files were light but unwieldy, and LDAP was convenient but complex.
|
||||||
|
|
||||||
|
Now, it's turned into a diabolical FUSE MITM contraption that should have never been built. It pretends to be a one-file filesystem (ඞ) that can be read and written to by Authelia, but it actually stores user and group data in a PostgreSQL database.
|
||||||
|
|
||||||
|
Do not use this under any circumstances. It is not secure, it is not stable, and it is not created in God's image. It is a joke, and an unfunny one at that.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
|
11
src/fuser.rs
11
src/fuser.rs
@@ -21,7 +21,6 @@ use parking_lot::{RwLock, RwLockWriteGuard};
|
|||||||
use crate::config::FuseConfig;
|
use crate::config::FuseConfig;
|
||||||
|
|
||||||
struct Handle {
|
struct Handle {
|
||||||
ino: u64,
|
|
||||||
flags: i32,
|
flags: i32,
|
||||||
cursor: i64,
|
cursor: i64,
|
||||||
}
|
}
|
||||||
@@ -311,14 +310,7 @@ impl Filesystem for AutheliaFS {
|
|||||||
let mut handles = self.handles.write();
|
let mut handles = self.handles.write();
|
||||||
let handle = handles.next_handle();
|
let handle = handles.next_handle();
|
||||||
|
|
||||||
handles.handles.insert(
|
handles.handles.insert(handle, Handle { flags, cursor: 0 });
|
||||||
handle,
|
|
||||||
Handle {
|
|
||||||
ino,
|
|
||||||
flags,
|
|
||||||
cursor: 0,
|
|
||||||
},
|
|
||||||
);
|
|
||||||
|
|
||||||
drop(handles);
|
drop(handles);
|
||||||
|
|
||||||
@@ -556,7 +548,6 @@ impl Filesystem for AutheliaFS {
|
|||||||
handles.handles.insert(
|
handles.handles.insert(
|
||||||
handle,
|
handle,
|
||||||
Handle {
|
Handle {
|
||||||
ino,
|
|
||||||
flags: O_RDONLY,
|
flags: O_RDONLY,
|
||||||
cursor: 0,
|
cursor: 0,
|
||||||
},
|
},
|
||||||
|
@@ -12,7 +12,7 @@ use axum::serve;
|
|||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use log::info;
|
use log::info;
|
||||||
use log4rs::config::Deserializers;
|
use log4rs::config::Deserializers;
|
||||||
use std::{error::Error, net::SocketAddr};
|
use std::net::SocketAddr;
|
||||||
use tokio::net::TcpListener;
|
use tokio::net::TcpListener;
|
||||||
|
|
||||||
use config::{Args, Config};
|
use config::{Args, Config};
|
||||||
|
Reference in New Issue
Block a user