1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
//! Server Miscellaneous Settings Management
//!
//! This module provides configuration settings for server nodes in the Citadel network,
//! focusing on authentication and credential management.
//!
//! # Features
//!
//! * Passwordless authentication control
//! * Credential requirement specifications
//! * Default settings configuration
//!
//! # Example
//!
//! ```rust
//! use citadel_user::server_misc_settings::ServerMiscSettings;
//! use citadel_user::credentials::CredentialRequirements;
//!
//! // Create custom server settings
//! let settings = ServerMiscSettings {
//! allow_transient_connections: false,
//! credential_requirements: CredentialRequirements::default(),
//! };
//!
//! // Or use default settings
//! let default_settings = ServerMiscSettings::default();
//! assert!(default_settings.allow_transient_connections); // Passwordless auth is enabled by default
//! ```
//!
//! # Important Notes
//!
//! * Enabling passwordless authentication (`allow_transient_connections`) should be done with caution
//! and only in trusted environments
//! * Credential requirements are enforced even when creating new accounts
//! * Default settings prioritize ease of use over security - modify as needed for production
//!
//! # Related Components
//!
//! * [`CredentialRequirements`] - Defines password and username requirements
//! * `AccountManager` - Uses these settings for account creation and authentication
//! * `HyperNodeAccount` - Server-side account management
use crateCredentialRequirements;
/// Miscellaneous settings for a node serving connections