Skip to content

Commit aa32570

Browse files
committed
Allow unused results + ctrlc handling
1 parent 1752c22 commit aa32570

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@ infer = "0.6.0"
1818
clap = { version = "3.0.0-rc.8", features = ["derive"] }
1919
istor = "0.1.2"
2020
base64 = "0.13.0"
21-
ascii = "1.0.0"
21+
ascii = "1.0.0"
22+
ctrlc = { version = "3.0", features = ["termination"] }

src/main.rs

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1+
#![allow(unused_must_use)]
2+
13
extern crate colored;
24
extern crate tiny_http;
35
extern crate base64;
46
extern crate ascii;
7+
extern crate ctrlc;
58

69
use clap::Parser;
710
use istor::istor;
@@ -73,8 +76,6 @@ fn main() {
7376
restricted = Arc::new(true);
7477
}
7578

76-
//println!("{}", &args.blocktor);
77-
7879
let block_tor = Arc::new(args.blocktor);
7980

8081
let mut crt: Option<SslConfig> = None;
@@ -95,6 +96,7 @@ fn main() {
9596
let server = Arc::new(server);
9697

9798
let mut guards = Vec::with_capacity(args.threads.parse::<usize>().unwrap());
99+
98100

99101
for _ in 0..args.threads.parse::<i32>().unwrap() {
100102

@@ -109,19 +111,21 @@ fn main() {
109111
let rq = server.recv().unwrap();
110112
let output = format!("{:?}", &rq);
111113

112-
let headers = rq.headers();
114+
let headers = rq.headers();
113115
let mut auth = None;
114116
for i in headers.iter() {
115117
if i.field == HeaderField::from_bytes("Authorization".as_bytes().to_vec()).unwrap() {
116118
let _wrds = &i.value;
117119
let wrds: Vec<&AsciiStr> = i.value.split(ascii::AsciiChar::Space).collect();
118120
if *restricted && wrds.len() < 2 {
121+
#[allow(unused_must_use)]
119122
handler::unauthorized(rq);
120123
println!("{} -> {}", output, "401 Unauthorized".red());
121124
continue 'outer;
122125

123126
}
124127
if *restricted && wrds[0] != "Basic" {
128+
#[allow(unused_must_use)]
125129
handler::unauthorized(rq);
126130
println!("{} -> {}", output, "401 Unauthorized".red());
127131
continue 'outer;
@@ -140,7 +144,7 @@ fn main() {
140144
Some(authtry) => {
141145
if base64::encode(format!("{}:{}", username, pass).as_bytes()) == String::from(authtry.as_str()) {
142146
} else {
143-
handler::unauthorized(rq);
147+
handler::unauthorized(rq);
144148
println!("{} -> {}", output, "401 Unauthorized".red());
145149
continue 'outer;
146150
}
@@ -159,7 +163,7 @@ fn main() {
159163

160164
if istor::istor(str_to_be_checked, false){
161165
println!("{} -> {}", output, "Blocked TOR request".red());
162-
rq.respond(
166+
rq.respond(
163167
Response::from_string("You can't use Tor here ¯\\_(ツ)_/¯")
164168
.with_status_code(StatusCode(500))
165169
);
@@ -208,4 +212,8 @@ fn main() {
208212
}
209213
}
210214
}
215+
ctrlc::set_handler(move || {
216+
println!("Exiting...");
217+
std::process::exit(0);
218+
});
211219
}

0 commit comments

Comments
 (0)