Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
BitchX
GitHub Repository: BitchX/BitchX1.3
Path: blob/master/dll/encrypt/encrypt.c
1074 views
1
#define ENCODE_VERSION "0.001"
2
3
/*
4
*
5
* Written by Colten Edwards. (C) August 97
6
* Based on script by suicide for evolver script.
7
*/
8
#include "irc.h"
9
#include "struct.h"
10
#include "ircaux.h"
11
#include "vars.h"
12
#include "misc.h"
13
#include "output.h"
14
#include "module.h"
15
#define INIT_MODULE
16
#include "modval.h"
17
18
#define cparse convert_output_format
19
char encode_version[] = "Encode 0.001";
20
unsigned char *encode_string = NULL;
21
22
BUILT_IN_FUNCTION(func_encode)
23
{
24
char *new;
25
if (!input)
26
return m_strdup(empty_string);
27
new = m_strdup(input);
28
my_encrypt(new, strlen(new), encode_string);
29
return new;
30
}
31
32
BUILT_IN_FUNCTION(func_decode)
33
{
34
char *new;
35
if (!input)
36
return m_strdup(empty_string);
37
new = m_strdup(input);
38
my_decrypt(new, strlen(new), encode_string);
39
return new;
40
}
41
42
char *Encode_Version(IrcCommandDll **intp)
43
{
44
return ENCODE_VERSION;
45
}
46
47
48
int Encrypt_Init(IrcCommandDll **intp, Function_ptr *global_table)
49
{
50
int i, j;
51
char buffer[BIG_BUFFER_SIZE+1];
52
initialize_module("encrypt");
53
54
add_module_proc(ALIAS_PROC, "encrypt", "MENCODE", NULL, 0, 0, func_encode, NULL);
55
add_module_proc(ALIAS_PROC, "encrypt", "MDECODE", NULL, 0, 0, func_decode, NULL);
56
encode_string = (char *)new_malloc(512);
57
for (i = 1, j = 255; i <= 255; i++, j--)
58
{
59
switch (i)
60
{
61
case 27:
62
case 127:
63
case 255:
64
encode_string[i-1] = i;
65
break;
66
default:
67
encode_string[i-1] = j;
68
break;
69
}
70
}
71
sprintf(buffer, "$0+%s by panasync - $2 $3", encode_version);
72
fset_string_var(FORMAT_VERSION_FSET, buffer);
73
put_it("%s", convert_output_format("$G $0 v$1 by panasync. Based on suicide's Abot script.", "%s %s", encode_version, ENCODE_VERSION));
74
return 0;
75
}
76
77
78