theGuard
10.0
NHI1
-
theKernel
-
theLink
-
theConfig
-
theSq3Lite
-
theCompiler
-
theBrain
-
theGuard
Loading...
Searching...
No Matches
aguard
aguard_crypt.h
Go to the documentation of this file.
1
13
/* LABEL-NO */
14
15
#pragma once
16
17
#include "
key.h
"
18
MK_NUM
selKey
= 1;
19
#define IDENT "aguard"
20
21
static
void
guard_crypt
(
register
MK_BINN
data,
MK_SIZE
size,
bool
const
flag) {
22
if
(
selKey
== 0)
return
;
23
register
MK_BINN
key =
KEY_REF
[
selKey
];
24
const
MK_BINN
keyend =
KEY_REF
[
selKey
]+
KEY_LEN
[
selKey
];
25
const
MK_BINN
dataend = data+size;
26
for
(;data<dataend; data++,key++) {
27
if
(key >= keyend) {
28
key=
KEY_REF
[
selKey
];
29
}
30
if
(flag) {
31
*(
MK_BIN
)data += *key;
32
}
else
{
33
*(
MK_BIN
)data -= *key;
34
}
35
}
36
}
37
38
static
void
__attribute__ ((noreturn))
39
FilterHelp
(const
char
* base)
40
{
41
fputs(
"\n"
, stderr);
42
fprintf(stderr,
"usage: %s [OPTION]... [ARGUMENT]...\n"
, base);
43
fputs(
"\n"
, stderr);
44
fputs(
" This tool is the data protection filter of NHI1.\n"
, stderr);
45
fputs(
"\n"
, stderr);
46
fprintf(stderr,
" %s [ARGUMENT]... syntax:\n"
, base);
47
fprintf(stderr,
" aclient... %c %s --key NUM ... [encrypted] ... %c %s --key NUM... %c aserver\n"
,
48
MK_ALFA
, base,
MK_ALFA
, base,
MK_ALFA
);
49
fputs(
"\n"
, stderr);
50
fputs(
MqHelp
(NULL), stderr);
51
fputs(
"\n"
, stderr);
52
fprintf(stderr,
" %s [OPTION]:\n"
, base);
53
fputs(
" -h, --help print this help\n"
, stderr);
54
fputs(
" -d, --dig print the key diggest\n"
, stderr);
55
fprintf(stderr,
" -k, --key NUM select the KEY for encryption...(0 <= NUM <= %i)\n"
,
KEY_NUM
);
56
fputs(
" 0 = NO\n"
, stderr);
57
fputs(
" 1 = DEFAULT\n"
, stderr);
58
fputs(
"\n"
, stderr);
59
60
exit(EXIT_SUCCESS);
61
}
62
63
static
enum
MkErrorE
64
FilterArgs
(
MK_RT_ARGS
MQ_CTX
mqctx,
MK_BFL
args)
65
{
66
bool
printDIG =
false
;
67
68
MkBufferListCheckOptionO_3E
(args,
"-d"
, &printDIG);
69
MkBufferListCheckOptionO_3E
(args,
"--dig"
, &printDIG);
70
71
if
(printDIG ==
true
) {
72
fprintf(stderr,
"\n"
);
73
fprintf(stderr,
"'%s' key information..\n"
,
MqConfigGetName
(mqctx));
74
fprintf(stderr,
"\n"
);
75
fprintf(stderr,
" sign-dat: %s\n"
,
DIG_DATE
);
76
fprintf(stderr,
" sign-dig: %s\n"
,
DIG_DATA
);
77
fprintf(stderr,
" sign-min: %i byte\n"
,
KEY_MIN
);
78
fprintf(stderr,
" sign-num: %i\n"
,
KEY_NUM
);
79
fprintf(stderr,
"\n"
);
80
81
return
MK_CONTINUE
;
82
}
83
84
MkBufferListCheckOptionI_3E
(args,
"-k"
, &
selKey
);
85
MkBufferListCheckOptionI_3E
(args,
"--key"
, &
selKey
);
86
87
if
(
selKey < 0 || selKey >
KEY_NUM
) {
88
return
MkErrorSetV_1E
(
"key-error: invalid value for argument '-k,--key', '%i' have to be: '0 <= NUM <= %i'"
,
89
selKey
,
KEY_NUM
);
90
}
91
92
return
MK_OK
;
93
error:
94
return
MK_ERROR
;
95
}
96
FilterArgs
static enum MkErrorE FilterArgs(MK_RT_ARGS MQ_CTX mqctx, MK_BFL args)
Definition
aguard_crypt.h:64
selKey
MK_NUM selKey
Definition
aguard_crypt.h:18
FilterHelp
static void FilterHelp(const char *base)
Definition
aguard_crypt.h:39
guard_crypt
static void guard_crypt(register MK_BINN data, MK_SIZE size, bool const flag)
Definition
aguard_crypt.h:21
MkBufferListCheckOptionO_3E
#define MkBufferListCheckOptionO_3E(bfl, opt, val_out)
MkBufferListCheckOptionI_3E
#define MkBufferListCheckOptionI_3E(bfl, opt, val_out)
MkErrorSetV_1E
#define MkErrorSetV_1E(printfmt,...)
MkErrorE
MkErrorE
MK_ERROR
MK_ERROR
MK_CONTINUE
MK_CONTINUE
MK_OK
MK_OK
MK_NUM
int32_t MK_NUM
MK_BIN
MK_BINB * MK_BIN
MK_ALFA
#define MK_ALFA
MK_SIZE
long MK_SIZE
MK_BINN
MK_BINB const * MK_BINN
MK_RT_ARGS
#define MK_RT_ARGS
MqConfigGetName
static MK_STRN MqConfigGetName(MQ_CTXN const ctx)
MqHelp
MK_STR MqHelp(MK_STRN tool)
key.h
KEY_MIN
MK_NUM KEY_MIN
Definition
key.h:92
KEY_NUM
MK_NUM KEY_NUM
Definition
key.h:91
KEY_LEN
MK_NUM KEY_LEN[]
Definition
key.h:84
KEY_REF
MK_BIN KEY_REF[]
Definition
key.h:87
DIG_DATA
MK_STRN DIG_DATA
Definition
key.h:95
DIG_DATE
MK_STRN DIG_DATE
Definition
key.h:94
MkBufferListS
MqContextS
Generated on Tue Dec 31 2024 00:11:37 for theGuard by
1.12.0