From 45796f66c7a15cadd38cf33eab000975776fcf1e Mon Sep 17 00:00:00 2001 From: Vladimir Dubrovin <3proxy@3proxy.ru> Date: Sat, 18 Apr 2026 15:47:07 +0300 Subject: [PATCH] Cleanup 3proxy_crypt --- .gitignore | 1 + README.md | 2 +- bin/3proxy_crypt | Bin 47544 -> 0 bytes src/3proxy_crypt.c | 3 ++- 4 files changed, 4 insertions(+), 2 deletions(-) delete mode 100644 bin/3proxy_crypt diff --git a/.gitignore b/.gitignore index adcbda5..adebe60 100644 --- a/.gitignore +++ b/.gitignore @@ -258,3 +258,4 @@ pip-log.txt #Mr Developer .mr.developer.cfg CLAUDE.md +bin/3proxy_crypt diff --git a/README.md b/README.md index 55087a2..36a3182 100644 --- a/README.md +++ b/README.md @@ -287,7 +287,7 @@ TLS proxy (SNI proxy) - sniffs hostname from TLS handshake UDP port mapping. Maps some UDP port on local machine to UDP port on remote machine. Only one user simultaneously can use UDP mapping, so it can't be used for public service in large networks. It's OK to use it to map to DNS server in small network or to map Counter-Strike server for single client (you can use few mappings on different ports for different clients in last case). ### 3proxy_crypt -Program to obtain crypted password for cleartext. Supports both MD5/crypt and NT password. +Program to obtain crypted password for cleartext. Supports both salted and NT password. ```bash 3proxy_crypt password # produces NT password diff --git a/bin/3proxy_crypt b/bin/3proxy_crypt deleted file mode 100644 index 3eb0ef0bf3952f67f49a66178a7a4189e135906c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47544 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 WOXe?Fu;}K6B3#u_Q*jmK%>MzU&ya`! diff --git a/src/3proxy_crypt.c b/src/3proxy_crypt.c index 2c10716..f52894b 100644 --- a/src/3proxy_crypt.c +++ b/src/3proxy_crypt.c @@ -71,12 +71,13 @@ unsigned char * mycrypt(const unsigned char *pw, const unsigned char *salt, unsi unsigned char *p; const unsigned char *sp; unsigned char final[MD5_SIZE]; - int sl,pl,i; + int sl; unsigned long l; #ifndef WITHMAIN if(salt[0] == '$' && salt[1] == '1' && salt[2] == '$' && (ep = (unsigned char *)strchr((char *)salt+3, '$'))) { MD5_CTX ctx,ctx1; + int pl, i; sp = salt +3; sl = (int)(ep - sp);