mirror of https://github.com/dswd/vpncloud.git
Some more documentation and fixed tests
This commit is contained in:
parent
88f5272023
commit
6d9fdddb7c
|
@ -1 +1,4 @@
|
||||||
|
# Warning: This file is ignored on systemd systems
|
||||||
|
# Please use instantiated services (vpncloud@NAME) instead
|
||||||
|
|
||||||
NETWORKS="default"
|
NETWORKS="default"
|
||||||
|
|
|
@ -1,5 +1,12 @@
|
||||||
# This configuration file uses the YAML format.
|
# This configuration file uses the YAML format.
|
||||||
|
|
||||||
|
# This configuration can be enabled/disabled and controlled by adding the
|
||||||
|
# network to `/etc/default/vpncloud` and starting/stopping it via
|
||||||
|
# `/etc/init.d/vpncloud start/stop` on non-systemd systems and via
|
||||||
|
# `systemctl enable/disable vpncloud@NAME` and
|
||||||
|
# `service vpncloud@NAME start/stop` on systemd systems.
|
||||||
|
|
||||||
|
|
||||||
# The port number on which to listen for data.
|
# The port number on which to listen for data.
|
||||||
# Note: Every VPN needs a different port number.
|
# Note: Every VPN needs a different port number.
|
||||||
#port: 3210
|
#port: 3210
|
||||||
|
@ -68,3 +75,14 @@
|
||||||
# The name of the allocated device will be available via the environment
|
# The name of the allocated device will be available via the environment
|
||||||
# variable `IFNAME`.
|
# variable `IFNAME`.
|
||||||
#ifdown: ""
|
#ifdown: ""
|
||||||
|
|
||||||
|
# Store the process id in this file when running in the background. If set,
|
||||||
|
# the given file will be created containing the process id of the new
|
||||||
|
# background process. This option is only used when running in background.
|
||||||
|
#pid_file: ""
|
||||||
|
|
||||||
|
# Change the user and/or group of the process once all the setup has been
|
||||||
|
# done and before spawning the background process. This option is only used
|
||||||
|
# when running in background.
|
||||||
|
#user: ""
|
||||||
|
#group: ""
|
||||||
|
|
|
@ -116,7 +116,7 @@ impl log::Log for DualLogger {
|
||||||
if self.enabled(record.metadata()) {
|
if self.enabled(record.metadata()) {
|
||||||
println!("{} - {}", record.level(), record.args());
|
println!("{} - {}", record.level(), record.args());
|
||||||
let mut file = self.file.lock().expect("Lock poisoned");
|
let mut file = self.file.lock().expect("Lock poisoned");
|
||||||
if let &mut Some(ref mut file) = &mut file as &mut Option<File> {
|
if let Some(ref mut file) = *file {
|
||||||
let time = time::strftime("%F %T", &time::now()).expect("Failed to format timestamp");
|
let time = time::strftime("%F %T", &time::now()).expect("Failed to format timestamp");
|
||||||
writeln!(file, "{} - {} - {}", time, record.level(), record.args()).expect("Failed to write to logfile");
|
writeln!(file, "{} - {} - {}", time, record.level(), record.args()).expect("Failed to write to logfile");
|
||||||
}
|
}
|
||||||
|
|
19
src/tests.rs
19
src/tests.rs
|
@ -412,6 +412,9 @@ mode: normal
|
||||||
subnets:
|
subnets:
|
||||||
- 10.0.1.0/24
|
- 10.0.1.0/24
|
||||||
port_forwarding: true
|
port_forwarding: true
|
||||||
|
user: nobody
|
||||||
|
group: nogroup
|
||||||
|
pid_file: /run/vpncloud.run
|
||||||
";
|
";
|
||||||
assert_eq!(configfile::parse_str::<ConfigFile>(config_file).unwrap(), ConfigFile{
|
assert_eq!(configfile::parse_str::<ConfigFile>(config_file).unwrap(), ConfigFile{
|
||||||
device_type: Some(Type::Tun),
|
device_type: Some(Type::Tun),
|
||||||
|
@ -427,7 +430,10 @@ port_forwarding: true
|
||||||
mode: Some(Mode::Normal),
|
mode: Some(Mode::Normal),
|
||||||
dst_timeout: None,
|
dst_timeout: None,
|
||||||
subnets: Some(vec!["10.0.1.0/24".to_string()]),
|
subnets: Some(vec!["10.0.1.0/24".to_string()]),
|
||||||
port_forwarding: Some(true)
|
port_forwarding: Some(true),
|
||||||
|
user: Some("nobody".to_string()),
|
||||||
|
group: Some("nogroup".to_string()),
|
||||||
|
pid_file: Some("/run/vpncloud.run".to_string())
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -448,7 +454,10 @@ fn config_merge() {
|
||||||
mode: Some(Mode::Normal),
|
mode: Some(Mode::Normal),
|
||||||
dst_timeout: None,
|
dst_timeout: None,
|
||||||
subnets: Some(vec!["10.0.1.0/24".to_string()]),
|
subnets: Some(vec!["10.0.1.0/24".to_string()]),
|
||||||
port_forwarding: None
|
port_forwarding: None,
|
||||||
|
user: Some("nobody".to_string()),
|
||||||
|
group: Some("nogroup".to_string()),
|
||||||
|
pid_file: Some("/run/vpncloud.run".to_string())
|
||||||
});
|
});
|
||||||
assert_eq!(config, Config{
|
assert_eq!(config, Config{
|
||||||
device_type: Type::Tun,
|
device_type: Type::Tun,
|
||||||
|
@ -461,6 +470,9 @@ fn config_merge() {
|
||||||
peer_timeout: 1800,
|
peer_timeout: 1800,
|
||||||
mode: Mode::Normal,
|
mode: Mode::Normal,
|
||||||
subnets: vec!["10.0.1.0/24".to_string()],
|
subnets: vec!["10.0.1.0/24".to_string()],
|
||||||
|
user: Some("nobody".to_string()),
|
||||||
|
group: Some("nogroup".to_string()),
|
||||||
|
pid_file: Some("/run/vpncloud.run".to_string()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
});
|
});
|
||||||
config.merge_args(Args{
|
config.merge_args(Args{
|
||||||
|
@ -482,6 +494,9 @@ fn config_merge() {
|
||||||
peer_timeout: 1800,
|
peer_timeout: 1800,
|
||||||
mode: Mode::Normal,
|
mode: Mode::Normal,
|
||||||
subnets: vec!["10.0.1.0/24".to_string()],
|
subnets: vec!["10.0.1.0/24".to_string()],
|
||||||
|
user: Some("nobody".to_string()),
|
||||||
|
group: Some("nogroup".to_string()),
|
||||||
|
pid_file: Some("/run/vpncloud.run".to_string()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue