pub struct RadiusAttribute {
pub typ: u8,
pub len: u8,
pub value: Vec<u8>,
}Fields§
§typ: u8§len: u8§value: Vec<u8>Implementations§
Source§impl RadiusAttribute
impl RadiusAttribute
Sourcepub fn reply_message(msg: &str) -> Self
pub fn reply_message(msg: &str) -> Self
Examples found in repository?
examples/server.rs (line 18)
7async fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let dict = Arc::new(Dictionary::load_embedded()?);
9 let secret = "test123";
10
11 serve("0.0.0.0:1812", dict, secret, |packet| {
12 println!("🔍 Incoming ID {} from {:?}", packet.identifier, packet.username());
13
14 if let Some(username) = packet.username() {
15 if username.trim() == "ec:30:b3:6d:24:6a" {
16 Ok(packet.reply_accept(vec![
17 RadiusAttribute::session_timeout(3600),
18 RadiusAttribute::reply_message("Welcome, admin."),
19 ]))
20 } else {
21 Ok(packet.reply_reject("User not allowed"))
22 }
23 } else {
24 Ok(packet.reply_reject("Missing username"))
25 }
26 }).await
27}pub fn user_name(name: &str) -> Self
pub fn vendor_specific(vendor_id: u32, payload: Vec<u8>) -> Self
pub fn wispr_bandwidth_max_up(bps: u32) -> Self
pub fn wispr_bandwidth_max_down(bps: u32) -> Self
Sourcepub fn session_timeout(seconds: u32) -> Self
pub fn session_timeout(seconds: u32) -> Self
Examples found in repository?
examples/server.rs (line 17)
7async fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let dict = Arc::new(Dictionary::load_embedded()?);
9 let secret = "test123";
10
11 serve("0.0.0.0:1812", dict, secret, |packet| {
12 println!("🔍 Incoming ID {} from {:?}", packet.identifier, packet.username());
13
14 if let Some(username) = packet.username() {
15 if username.trim() == "ec:30:b3:6d:24:6a" {
16 Ok(packet.reply_accept(vec![
17 RadiusAttribute::session_timeout(3600),
18 RadiusAttribute::reply_message("Welcome, admin."),
19 ]))
20 } else {
21 Ok(packet.reply_reject("User not allowed"))
22 }
23 } else {
24 Ok(packet.reply_reject("Missing username"))
25 }
26 }).await
27}pub fn idle_timeout(seconds: u32) -> Self
Trait Implementations§
Source§impl Clone for RadiusAttribute
impl Clone for RadiusAttribute
Source§fn clone(&self) -> RadiusAttribute
fn clone(&self) -> RadiusAttribute
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for RadiusAttribute
impl RefUnwindSafe for RadiusAttribute
impl Send for RadiusAttribute
impl Sync for RadiusAttribute
impl Unpin for RadiusAttribute
impl UnwindSafe for RadiusAttribute
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more