1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-12 16:54:46 +02:00

Move "gencloak" to unrealircdctl, so it is available for Windows users.

For *NIX users no visible change.
This commit is contained in:
Bram Matthys
2022-01-03 14:26:29 +01:00
parent e35c29f3d5
commit 3dd7c19c77
3 changed files with 54 additions and 58 deletions
-57
View File
@@ -358,58 +358,6 @@ void fix_timers(void)
}
#ifndef _WIN32
/* Generate 3 cloak keys and print to console */
static void generate_cloakkeys()
{
#define GENERATE_CLOAKKEY_LEN 80 /* Length of cloak keys to generate. */
char keyBuf[GENERATE_CLOAKKEY_LEN + 1];
int keyNum;
int charIndex;
short has_upper;
short has_lower;
short has_num;
fprintf(stderr, "Here are 3 random cloak keys that you can copy-paste to your configuration file:\n\n");
fprintf(stderr, "set {\n\tcloak-keys {\n");
for (keyNum = 0; keyNum < 3; ++keyNum)
{
has_upper = 0;
has_lower = 0;
has_num = 0;
for (charIndex = 0; charIndex < sizeof(keyBuf)-1; ++charIndex)
{
switch (getrandom8() % 3)
{
case 0: /* Uppercase. */
keyBuf[charIndex] = (char)('A' + (getrandom8() % ('Z' - 'A')));
has_upper = 1;
break;
case 1: /* Lowercase. */
keyBuf[charIndex] = (char)('a' + (getrandom8() % ('z' - 'a')));
has_lower = 1;
break;
case 2: /* Digit. */
keyBuf[charIndex] = (char)('0' + (getrandom8() % ('9' - '0')));
has_num = 1;
break;
}
}
keyBuf[sizeof(keyBuf)-1] = '\0';
if (has_upper && has_lower && has_num)
fprintf(stderr, "\t\t\"%s\";\n", keyBuf);
else
/* Try again. For this reason, keyNum must be signed. */
keyNum--;
}
fprintf(stderr, "\t}\n}\n\n");
}
#endif
/* MY tdiff... because 'double' sucks.
* This should work until 2038, and very likely after that as well
* because 'long' should be 64 bit on all systems by then... -- Syzop
@@ -670,11 +618,6 @@ int InitUnrealIRCd(int argc, char *argv[])
}
# endif
exit(0);
#endif
#ifndef _WIN32
case 'k':
generate_cloakkeys();
exit(0);
#endif
case 'K':
{
+53
View File
@@ -109,9 +109,60 @@ void unrealircdctl_mkpasswd(int argc, char *argv[])
exit(0);
}
void unrealircdctl_gencloak(int argc, char *argv[])
{
#define GENERATE_CLOAKKEY_LEN 80 /* Length of cloak keys to generate. */
char keyBuf[GENERATE_CLOAKKEY_LEN + 1];
int keyNum;
int charIndex;
short has_upper;
short has_lower;
short has_num;
fprintf(stderr, "Here are 3 random cloak keys that you can copy-paste to your configuration file:\n\n");
fprintf(stderr, "set {\n\tcloak-keys {\n");
for (keyNum = 0; keyNum < 3; ++keyNum)
{
has_upper = 0;
has_lower = 0;
has_num = 0;
for (charIndex = 0; charIndex < sizeof(keyBuf)-1; ++charIndex)
{
switch (getrandom8() % 3)
{
case 0: /* Uppercase. */
keyBuf[charIndex] = (char)('A' + (getrandom8() % ('Z' - 'A')));
has_upper = 1;
break;
case 1: /* Lowercase. */
keyBuf[charIndex] = (char)('a' + (getrandom8() % ('z' - 'a')));
has_lower = 1;
break;
case 2: /* Digit. */
keyBuf[charIndex] = (char)('0' + (getrandom8() % ('9' - '0')));
has_num = 1;
break;
}
}
keyBuf[sizeof(keyBuf)-1] = '\0';
if (has_upper && has_lower && has_num)
fprintf(stderr, "\t\t\"%s\";\n", keyBuf);
else
/* Try again. For this reason, keyNum must be signed. */
keyNum--;
}
fprintf(stderr, "\t}\n}\n\n");
exit(0);
}
int main(int argc, char *argv[])
{
dbuf_init();
init_random();
#ifdef _WIN32
init_winsock();
#endif
@@ -127,6 +178,8 @@ int main(int argc, char *argv[])
unrealircdctl_status();
else if (!strcmp(argv[1], "mkpasswd"))
unrealircdctl_mkpasswd(argc, argv);
else if (!strcmp(argv[1], "gencloak"))
unrealircdctl_gencloak(argc, argv);
else
unrealircdctl_usage(argv[0]);
exit(0);
+1 -1
View File
@@ -118,7 +118,7 @@ elif [ "$1" = "mkpasswd" ] ; then
elif [ "$1" = "version" ] ; then
@BINDIR@/unrealircd -v
elif [ "$1" = "gencloak" ] ; then
@BINDIR@/unrealircd -k
$UNREALIRCDCTL gencloak
elif [ "$1" = "backtrace" ] ; then
cd @TMPDIR@