aboutsummaryrefslogtreecommitdiffstats
path: root/src/libmime
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmime')
-rw-r--r--src/libmime/archives.c256
-rw-r--r--src/libmime/archives.h2
-rw-r--r--src/libmime/content_type.c46
-rw-r--r--src/libmime/content_type.h18
-rw-r--r--src/libmime/email_addr.c32
-rw-r--r--src/libmime/email_addr.h26
-rw-r--r--src/libmime/images.c86
-rw-r--r--src/libmime/images.h4
-rw-r--r--src/libmime/lang_detection.c244
-rw-r--r--src/libmime/lang_detection.h8
-rw-r--r--src/libmime/lang_detection_fasttext.cxx4
-rw-r--r--src/libmime/lang_detection_fasttext.h2
-rw-r--r--src/libmime/message.c128
-rw-r--r--src/libmime/message.h56
-rw-r--r--src/libmime/mime_encoding.c58
-rw-r--r--src/libmime/mime_encoding.h20
-rw-r--r--src/libmime/mime_expressions.c162
-rw-r--r--src/libmime/mime_expressions.h4
-rw-r--r--src/libmime/mime_headers.c92
-rw-r--r--src/libmime/mime_headers.h32
-rw-r--r--src/libmime/mime_parser.c100
-rw-r--r--src/libmime/received.cxx4
-rw-r--r--src/libmime/scan_result.c70
-rw-r--r--src/libmime/scan_result.h52
-rw-r--r--src/libmime/smtp_parsers.h6
25 files changed, 756 insertions, 756 deletions
diff --git a/src/libmime/archives.c b/src/libmime/archives.c
index 7f77cf591..c40c0e88a 100644
--- a/src/libmime/archives.c
+++ b/src/libmime/archives.c
@@ -39,7 +39,7 @@ rspamd_archive_dtor(gpointer p)
{
struct rspamd_archive *arch = p;
struct rspamd_archive_file *f;
- guint i;
+ unsigned int i;
for (i = 0; i < arch->files->len; i++) {
f = g_ptr_array_index(arch->files, i);
@@ -58,9 +58,9 @@ static bool
rspamd_archive_file_try_utf(struct rspamd_task *task,
struct rspamd_archive *arch,
struct rspamd_archive_file *fentry,
- const gchar *in, gsize inlen)
+ const char *in, gsize inlen)
{
- const gchar *charset = NULL, *p, *end;
+ const char *charset = NULL, *p, *end;
GString *res;
charset = rspamd_mime_charset_find_by_content(in, inlen, TRUE);
@@ -173,12 +173,12 @@ static void
rspamd_archive_process_zip(struct rspamd_task *task,
struct rspamd_mime_part *part)
{
- const guchar *p, *start, *end, *eocd = NULL, *cd;
+ const unsigned char *p, *start, *end, *eocd = NULL, *cd;
const uint32_t eocd_magic = 0x06054b50, cd_basic_len = 46;
- const guchar cd_magic[] = {0x50, 0x4b, 0x01, 0x02};
- const guint max_processed = 1024;
+ const unsigned char cd_magic[] = {0x50, 0x4b, 0x01, 0x02};
+ const unsigned int max_processed = 1024;
uint32_t cd_offset, cd_size, comp_size, uncomp_size, processed = 0;
- guint16 extra_len, fname_len, comment_len;
+ uint16_t extra_len, fname_len, comment_len;
struct rspamd_archive *arch;
struct rspamd_archive_file *f = NULL;
@@ -233,7 +233,7 @@ rspamd_archive_process_zip(struct rspamd_task *task,
cd_offset = GUINT32_FROM_LE(cd_offset);
/* We need to check sanity as well */
- if (cd_offset + cd_size > (guint) (eocd - start)) {
+ if (cd_offset + cd_size > (unsigned int) (eocd - start)) {
msg_info_task("zip archive is invalid (bad size/offset for CD)");
return;
@@ -251,7 +251,7 @@ rspamd_archive_process_zip(struct rspamd_task *task,
arch);
while (cd < start + cd_offset + cd_size) {
- guint16 flags;
+ uint16_t flags;
/* Read central directory record */
if (eocd - cd < cd_basic_len ||
@@ -261,7 +261,7 @@ rspamd_archive_process_zip(struct rspamd_task *task,
return;
}
- memcpy(&flags, cd + 8, sizeof(guint16));
+ memcpy(&flags, cd + 8, sizeof(uint16_t));
flags = GUINT16_FROM_LE(flags);
memcpy(&comp_size, cd + 20, sizeof(uint32_t));
comp_size = GUINT32_FROM_LE(comp_size);
@@ -305,22 +305,22 @@ rspamd_archive_process_zip(struct rspamd_task *task,
}
/* Process extra fields */
- const guchar *extra = cd + fname_len + cd_basic_len;
+ const unsigned char *extra = cd + fname_len + cd_basic_len;
p = extra;
- while (p + sizeof(guint16) * 2 < extra + extra_len) {
- guint16 hid, hlen;
+ while (p + sizeof(uint16_t) * 2 < extra + extra_len) {
+ uint16_t hid, hlen;
- memcpy(&hid, p, sizeof(guint16));
+ memcpy(&hid, p, sizeof(uint16_t));
hid = GUINT16_FROM_LE(hid);
- memcpy(&hlen, p + sizeof(guint16), sizeof(guint16));
+ memcpy(&hlen, p + sizeof(uint16_t), sizeof(uint16_t));
hlen = GUINT16_FROM_LE(hlen);
if (hid == 0x0017) {
f->flags |= RSPAMD_ARCHIVE_FILE_ENCRYPTED;
}
- p += hlen + sizeof(guint16) * 2;
+ p += hlen + sizeof(uint16_t) * 2;
}
cd += fname_len + comment_len + extra_len + cd_basic_len;
@@ -332,8 +332,8 @@ rspamd_archive_process_zip(struct rspamd_task *task,
arch->size = part->parsed_data.len;
}
-static inline gint
-rspamd_archive_rar_read_vint(const guchar *start, gsize remain, uint64_t *res)
+static inline int
+rspamd_archive_rar_read_vint(const unsigned char *start, gsize remain, uint64_t *res)
{
/*
* From http://www.rarlab.com/technote.htm:
@@ -345,8 +345,8 @@ rspamd_archive_rar_read_vint(const guchar *start, gsize remain, uint64_t *res)
* continuation flag. Second byte, if present, contains next 7 bits and so on.
*/
uint64_t t = 0;
- guint shift = 0;
- const guchar *p = start;
+ unsigned int shift = 0;
+ const unsigned char *p = start;
while (remain > 0 && shift <= 57) {
if (*p & 0x80) {
@@ -410,31 +410,31 @@ rspamd_archive_rar_read_vint(const guchar *start, gsize remain, uint64_t *res)
#define RAR_READ_UINT16(n) \
do { \
- if (end - p < (glong) sizeof(guint16)) { \
+ if (end - p < (glong) sizeof(uint16_t)) { \
msg_debug_archive("rar archive is invalid (bad int16)"); \
return; \
} \
n = p[0] + (p[1] << 8); \
- p += sizeof(guint16); \
+ p += sizeof(uint16_t); \
} while (0)
-#define RAR_READ_UINT32(n) \
- do { \
- if (end - p < (glong) sizeof(uint32_t)) { \
- msg_debug_archive("rar archive is invalid (bad int32)"); \
- return; \
- } \
- n = (guint) p[0] + ((guint) p[1] << 8) + ((guint) p[2] << 16) + ((guint) p[3] << 24); \
- p += sizeof(uint32_t); \
+#define RAR_READ_UINT32(n) \
+ do { \
+ if (end - p < (glong) sizeof(uint32_t)) { \
+ msg_debug_archive("rar archive is invalid (bad int32)"); \
+ return; \
+ } \
+ n = (unsigned int) p[0] + ((unsigned int) p[1] << 8) + ((unsigned int) p[2] << 16) + ((unsigned int) p[3] << 24); \
+ p += sizeof(uint32_t); \
} while (0)
static void
-rspamd_archive_process_rar_v4(struct rspamd_task *task, const guchar *start,
- const guchar *end, struct rspamd_mime_part *part)
+rspamd_archive_process_rar_v4(struct rspamd_task *task, const unsigned char *start,
+ const unsigned char *end, struct rspamd_mime_part *part)
{
- const guchar *p = start, *start_section;
- guint8 type;
- guint flags;
+ const unsigned char *p = start, *start_section;
+ uint8_t type;
+ unsigned int flags;
uint64_t sz, comp_sz = 0, uncomp_sz = 0;
struct rspamd_archive *arch;
struct rspamd_archive_file *f;
@@ -451,7 +451,7 @@ rspamd_archive_process_rar_v4(struct rspamd_task *task, const guchar *start,
while (p < end) {
/* Crc16 */
start_section = p;
- RAR_SKIP_BYTES(sizeof(guint16));
+ RAR_SKIP_BYTES(sizeof(uint16_t));
type = *p;
p++;
RAR_READ_UINT16(flags);
@@ -484,7 +484,7 @@ rspamd_archive_process_rar_v4(struct rspamd_task *task, const guchar *start,
}
if (type == 0x74) {
- guint fname_len;
+ unsigned int fname_len;
/* File header */
/* Uncompressed size */
@@ -519,7 +519,7 @@ rspamd_archive_process_rar_v4(struct rspamd_task *task, const guchar *start,
if (flags & 0x200) {
/* We have unicode + normal version */
- guchar *tmp;
+ unsigned char *tmp;
tmp = memchr(p, '\0', fname_len);
@@ -574,16 +574,16 @@ static void
rspamd_archive_process_rar(struct rspamd_task *task,
struct rspamd_mime_part *part)
{
- const guchar *p, *end, *section_start;
- const guchar rar_v5_magic[] = {0x52, 0x61, 0x72, 0x21, 0x1A, 0x07, 0x01, 0x00},
- rar_v4_magic[] = {0x52, 0x61, 0x72, 0x21, 0x1A, 0x07, 0x00};
- const guint rar_encrypted_header = 4, rar_main_header = 1,
- rar_file_header = 2;
+ const unsigned char *p, *end, *section_start;
+ const unsigned char rar_v5_magic[] = {0x52, 0x61, 0x72, 0x21, 0x1A, 0x07, 0x01, 0x00},
+ rar_v4_magic[] = {0x52, 0x61, 0x72, 0x21, 0x1A, 0x07, 0x00};
+ const unsigned int rar_encrypted_header = 4, rar_main_header = 1,
+ rar_file_header = 2;
uint64_t vint, sz, comp_sz = 0, uncomp_sz = 0, flags = 0, type = 0,
extra_sz = 0;
struct rspamd_archive *arch;
struct rspamd_archive_file *f;
- gint r;
+ int r;
p = part->parsed_data.begin;
end = p + part->parsed_data.len;
@@ -764,10 +764,10 @@ rspamd_archive_process_rar(struct rspamd_task *task,
if (f && has_extra && extra_sz > 0 &&
p + fname_len + extra_sz < end) {
/* Try to find encryption record in extra field */
- const guchar *ex = p + fname_len;
+ const unsigned char *ex = p + fname_len;
while (ex < p + extra_sz) {
- const guchar *t;
+ const unsigned char *t;
int64_t cur_sz = 0, sec_type = 0;
r = rspamd_archive_rar_read_vint(ex, extra_sz, &cur_sz);
@@ -807,8 +807,8 @@ end:
arch->size = part->parsed_data.len;
}
-static inline gint
-rspamd_archive_7zip_read_vint(const guchar *start, gsize remain, uint64_t *res)
+static inline int
+rspamd_archive_7zip_read_vint(const unsigned char *start, gsize remain, uint64_t *res)
{
/*
* REAL_UINT64 means real UINT64.
@@ -825,7 +825,7 @@ rspamd_archive_7zip_read_vint(const guchar *start, gsize remain, uint64_t *res)
* 11111110 BYTE y[7] : y
* 11111111 BYTE y[8] : y
*/
- guchar t;
+ unsigned char t;
if (remain == 0) {
return -1;
@@ -847,8 +847,8 @@ rspamd_archive_7zip_read_vint(const guchar *start, gsize remain, uint64_t *res)
}
}
else {
- gint cur_bit = 6, intlen = 1;
- const guchar bmask = 0xFF;
+ int cur_bit = 6, intlen = 1;
+ const unsigned char bmask = 0xFF;
uint64_t tgt;
while (cur_bit > 0) {
@@ -904,15 +904,15 @@ rspamd_archive_7zip_read_vint(const guchar *start, gsize remain, uint64_t *res)
n = GUINT64_FROM_LE(n); \
p += sizeof(uint64_t); \
} while (0)
-#define SZ_SKIP_BYTES(n) \
- do { \
- if (end - p >= (n)) { \
- p += (n); \
- } \
- else { \
- msg_debug_archive("7zip archive is invalid (truncated); wanted to read %d bytes, %d avail: %s", (gint) (n), (gint) (end - p), G_STRLOC); \
- return NULL; \
- } \
+#define SZ_SKIP_BYTES(n) \
+ do { \
+ if (end - p >= (n)) { \
+ p += (n); \
+ } \
+ else { \
+ msg_debug_archive("7zip archive is invalid (truncated); wanted to read %d bytes, %d avail: %s", (int) (n), (int) (end - p), G_STRLOC); \
+ return NULL; \
+ } \
} while (0)
enum rspamd_7zip_header_mark {
@@ -953,11 +953,11 @@ enum rspamd_7zip_header_mark {
((codec_id) == _7Z_CRYPTO_RAR_29) || \
((codec_id) == _7Z_CRYPTO_AES_256_SHA_256))
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_bits(struct rspamd_task *task,
- const guchar *p, const guchar *end,
- struct rspamd_archive *arch, guint nbits,
- guint *pbits_set)
+ const unsigned char *p, const unsigned char *end,
+ struct rspamd_archive *arch, unsigned int nbits,
+ unsigned int *pbits_set)
{
unsigned mask = 0, avail = 0, i;
gboolean bit_set = 0;
@@ -981,16 +981,16 @@ rspamd_7zip_read_bits(struct rspamd_task *task,
return p;
}
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_digest(struct rspamd_task *task,
- const guchar *p, const guchar *end,
+ const unsigned char *p, const unsigned char *end,
struct rspamd_archive *arch,
uint64_t num_streams,
- guint *pdigest_read)
+ unsigned int *pdigest_read)
{
- guchar all_defined = *p;
+ unsigned char all_defined = *p;
uint64_t i;
- guint num_defined = 0;
+ unsigned int num_defined = 0;
/*
* BYTE AllAreDefined
* if (AllAreDefined == 0)
@@ -1029,14 +1029,14 @@ rspamd_7zip_read_digest(struct rspamd_task *task,
return p;
}
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_pack_info(struct rspamd_task *task,
- const guchar *p, const guchar *end,
+ const unsigned char *p, const unsigned char *end,
struct rspamd_archive *arch)
{
uint64_t pack_pos = 0, pack_streams = 0, i, cur_sz;
- guint num_digests = 0;
- guchar t;
+ unsigned int num_digests = 0;
+ unsigned char t;
/*
* UINT64 PackPos
* UINT64 NumPackStreams
@@ -1089,10 +1089,10 @@ end:
return p;
}
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_folder(struct rspamd_task *task,
- const guchar *p, const guchar *end,
- struct rspamd_archive *arch, guint *pnstreams, guint *ndigests)
+ const unsigned char *p, const unsigned char *end,
+ struct rspamd_archive *arch, unsigned int *pnstreams, unsigned int *ndigests)
{
uint64_t ncoders = 0, i, j, noutstreams = 0, ninstreams = 0;
@@ -1100,7 +1100,7 @@ rspamd_7zip_read_folder(struct rspamd_task *task,
for (i = 0; i < ncoders && p != NULL && p < end; i++) {
uint64_t sz, tmp;
- guchar t;
+ unsigned char t;
/*
* BYTE
* {
@@ -1189,15 +1189,15 @@ rspamd_7zip_read_folder(struct rspamd_task *task,
return p;
}
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_coders_info(struct rspamd_task *task,
- const guchar *p, const guchar *end,
+ const unsigned char *p, const unsigned char *end,
struct rspamd_archive *arch,
- guint *pnum_folders, guint *pnum_nodigest)
+ unsigned int *pnum_folders, unsigned int *pnum_nodigest)
{
uint64_t num_folders = 0, i, tmp;
- guchar t;
- guint *folder_nstreams = NULL, num_digests = 0, digests_read = 0;
+ unsigned char t;
+ unsigned int *folder_nstreams = NULL, num_digests = 0, digests_read = 0;
while (p != NULL && p < end) {
/*
@@ -1259,11 +1259,11 @@ rspamd_7zip_read_coders_info(struct rspamd_task *task,
case kCodersUnPackSize:
for (i = 0; i < num_folders && p != NULL && p < end; i++) {
if (folder_nstreams) {
- for (guint j = 0; j < folder_nstreams[i]; j++) {
+ for (unsigned int j = 0; j < folder_nstreams[i]; j++) {
SZ_READ_VINT(tmp); /* Unpacked size */
msg_debug_archive("7zip: unpacked size "
"(folder=%d, stream=%d) = %L",
- (gint) i, j, tmp);
+ (int) i, j, tmp);
}
}
else {
@@ -1315,14 +1315,14 @@ end:
return p;
}
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_substreams_info(struct rspamd_task *task,
- const guchar *p, const guchar *end,
+ const unsigned char *p, const unsigned char *end,
struct rspamd_archive *arch,
- guint num_folders, guint num_nodigest)
+ unsigned int num_folders, unsigned int num_nodigest)
{
- guchar t;
- guint i;
+ unsigned char t;
+ unsigned int i;
uint64_t *folder_nstreams;
if (num_folders > 8192) {
@@ -1380,7 +1380,7 @@ rspamd_7zip_read_substreams_info(struct rspamd_task *task,
* In fact, it is just absent in the real life...
*/
for (i = 0; i < num_folders; i++) {
- for (guint j = 0; j < folder_nstreams[i]; j++) {
+ for (unsigned int j = 0; j < folder_nstreams[i]; j++) {
uint64_t tmp;
SZ_READ_VINT(tmp); /* Who cares indeed */
@@ -1402,13 +1402,13 @@ end:
return p;
}
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_main_streams_info(struct rspamd_task *task,
- const guchar *p, const guchar *end,
+ const unsigned char *p, const unsigned char *end,
struct rspamd_archive *arch)
{
- guchar t;
- guint num_folders = 0, unknown_digests = 0;
+ unsigned char t;
+ unsigned int num_folders = 0, unknown_digests = 0;
while (p != NULL && p < end) {
t = *p;
@@ -1459,12 +1459,12 @@ end:
return p;
}
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_archive_props(struct rspamd_task *task,
- const guchar *p, const guchar *end,
+ const unsigned char *p, const unsigned char *end,
struct rspamd_archive *arch)
{
- guchar proptype;
+ unsigned char proptype;
uint64_t proplen;
/*
@@ -1501,18 +1501,18 @@ rspamd_7zip_read_archive_props(struct rspamd_task *task,
}
static GString *
-rspamd_7zip_ucs2_to_utf8(struct rspamd_task *task, const guchar *p,
- const guchar *end)
+rspamd_7zip_ucs2_to_utf8(struct rspamd_task *task, const unsigned char *p,
+ const unsigned char *end)
{
GString *res;
goffset dest_pos = 0, src_pos = 0;
- const gsize len = (end - p) / sizeof(guint16);
- guint16 *up;
+ const gsize len = (end - p) / sizeof(uint16_t);
+ uint16_t *up;
UChar32 wc;
UBool is_error = 0;
res = g_string_sized_new((end - p) * 3 / 2 + sizeof(wc) + 1);
- up = (guint16 *) p;
+ up = (uint16_t *) p;
while (src_pos < len) {
U16_NEXT(up, src_pos, len, wc);
@@ -1538,13 +1538,13 @@ rspamd_7zip_ucs2_to_utf8(struct rspamd_task *task, const guchar *p,
return res;
}
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_files_info(struct rspamd_task *task,
- const guchar *p, const guchar *end,
+ const unsigned char *p, const unsigned char *end,
struct rspamd_archive *arch)
{
uint64_t nfiles = 0, sz, i;
- guchar t, b;
+ unsigned char t, b;
struct rspamd_archive_file *fentry;
SZ_READ_VINT(nfiles);
@@ -1592,7 +1592,7 @@ rspamd_7zip_read_files_info(struct rspamd_task *task,
for (i = 0; i < nfiles; i++) {
/* Zero terminated wchar_t: happy converting... */
/* First, find terminator */
- const guchar *fend = NULL, *tp = p;
+ const unsigned char *fend = NULL, *tp = p;
GString *res;
while (tp < end - 1) {
@@ -1644,13 +1644,13 @@ end:
return p;
}
-static const guchar *
+static const unsigned char *
rspamd_7zip_read_next_section(struct rspamd_task *task,
- const guchar *p, const guchar *end,
+ const unsigned char *p, const unsigned char *end,
struct rspamd_archive *arch,
struct rspamd_mime_part *part)
{
- guchar t = *p;
+ unsigned char t = *p;
SZ_SKIP_BYTES(1);
@@ -1732,8 +1732,8 @@ rspamd_archive_process_7zip(struct rspamd_task *task,
struct rspamd_mime_part *part)
{
struct rspamd_archive *arch;
- const guchar *start, *p, *end;
- const guchar sz_magic[] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C};
+ const unsigned char *start, *p, *end;
+ const unsigned char sz_magic[] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C};
uint64_t section_offset = 0, section_length = 0;
start = part->parsed_data.begin;
@@ -1793,9 +1793,9 @@ rspamd_archive_process_gzip(struct rspamd_task *task,
struct rspamd_mime_part *part)
{
struct rspamd_archive *arch;
- const guchar *start, *p, *end;
- const guchar gz_magic[] = {0x1F, 0x8B};
- guchar flags;
+ const unsigned char *start, *p, *end;
+ const unsigned char gz_magic[] = {0x1F, 0x8B};
+ unsigned char flags;
start = part->parsed_data.begin;
p = start;
@@ -1834,7 +1834,7 @@ rspamd_archive_process_gzip(struct rspamd_task *task,
if (flags & (1u << 2)) {
/* Optional section */
- guint16 optlen = 0;
+ uint16_t optlen = 0;
RAR_READ_UINT16(optlen);
@@ -1849,7 +1849,7 @@ rspamd_archive_process_gzip(struct rspamd_task *task,
}
/* Read file name */
- const guchar *fname_start = p;
+ const unsigned char *fname_start = p;
while (p < end) {
if (*p == '\0') {
@@ -1889,7 +1889,7 @@ rspamd_archive_process_gzip(struct rspamd_task *task,
/* Fallback, we need to extract file name from archive name if possible */
if (part->cd && part->cd->filename.len > 0) {
- const gchar *dot_pos, *slash_pos;
+ const char *dot_pos, *slash_pos;
dot_pos = rspamd_memrchr(part->cd->filename.begin, '.',
part->cd->filename.len);
@@ -1914,7 +1914,7 @@ rspamd_archive_process_gzip(struct rspamd_task *task,
goto set;
}
else {
- const gchar *fname_start = part->cd->filename.begin;
+ const char *fname_start = part->cd->filename.begin;
f = g_malloc0(sizeof(*f));
@@ -1951,11 +1951,11 @@ set:
}
static gboolean
-rspamd_archive_cheat_detect(struct rspamd_mime_part *part, const gchar *str,
- const guchar *magic_start, gsize magic_len)
+rspamd_archive_cheat_detect(struct rspamd_mime_part *part, const char *str,
+ const unsigned char *magic_start, gsize magic_len)
{
struct rspamd_content_type *ct;
- const gchar *p;
+ const char *p;
rspamd_ftok_t srch, *fname;
ct = part->ct;
@@ -2024,12 +2024,12 @@ rspamd_archive_cheat_detect(struct rspamd_mime_part *part, const gchar *str,
void rspamd_archives_process(struct rspamd_task *task)
{
- guint i;
+ unsigned int i;
struct rspamd_mime_part *part;
- const guchar rar_magic[] = {0x52, 0x61, 0x72, 0x21, 0x1A, 0x07};
- const guchar zip_magic[] = {0x50, 0x4b, 0x03, 0x04};
- const guchar sz_magic[] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C};
- const guchar gz_magic[] = {0x1F, 0x8B, 0x08};
+ const unsigned char rar_magic[] = {0x52, 0x61, 0x72, 0x21, 0x1A, 0x07};
+ const unsigned char zip_magic[] = {0x50, 0x4b, 0x03, 0x04};
+ const unsigned char sz_magic[] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C};
+ const unsigned char gz_magic[] = {0x1F, 0x8B, 0x08};
PTR_ARRAY_FOREACH(MESSAGE_FIELD(task, parts), i, part)
{
@@ -2071,10 +2071,10 @@ void rspamd_archives_process(struct rspamd_task *task)
}
-const gchar *
+const char *
rspamd_archive_type_str(enum rspamd_archive_type type)
{
- const gchar *ret = "unknown";
+ const char *ret = "unknown";
switch (type) {
case RSPAMD_ARCHIVE_ZIP:
diff --git a/src/libmime/archives.h b/src/libmime/archives.h
index 56beb6227..cafa06047 100644
--- a/src/libmime/archives.h
+++ b/src/libmime/archives.h
@@ -63,7 +63,7 @@ void rspamd_archives_process(struct rspamd_task *task);
/**
* Get textual representation of an archive's type
*/
-const gchar *rspamd_archive_type_str(enum rspamd_archive_type type);
+const char *rspamd_archive_type_str(enum rspamd_archive_type type);
#ifdef __cplusplus
}
diff --git a/src/libmime/content_type.c b/src/libmime/content_type.c
index 1b5c77987..07c61b671 100644
--- a/src/libmime/content_type.c
+++ b/src/libmime/content_type.c
@@ -23,9 +23,9 @@
static gboolean
rspamd_rfc2231_decode(rspamd_mempool_t *pool,
struct rspamd_content_type_param *param,
- gchar *value_start, gchar *value_end)
+ char *value_start, char *value_end)
{
- gchar *quote_pos;
+ char *quote_pos;
quote_pos = memchr(value_start, '\'', value_end - value_start);
@@ -42,7 +42,7 @@ rspamd_rfc2231_decode(rspamd_mempool_t *pool,
* encoding'data (in theory).
* Try to handle both...
*/
- const gchar *charset = NULL;
+ const char *charset = NULL;
rspamd_ftok_t ctok;
ctok.begin = value_start;
@@ -102,10 +102,10 @@ rspamd_rfc2231_decode(rspamd_mempool_t *pool,
static gboolean
rspamd_param_maybe_rfc2231_process(rspamd_mempool_t *pool,
struct rspamd_content_type_param *param,
- gchar *name_start, gchar *name_end,
- gchar *value_start, gchar *value_end)
+ char *name_start, char *name_end,
+ char *value_start, char *value_end)
{
- const gchar *star_pos;
+ const char *star_pos;
star_pos = memchr(name_start, '*', name_end - name_start);
@@ -191,7 +191,7 @@ rspamd_postprocess_ct_attributes(rspamd_mempool_t *pool,
if (param->flags & RSPAMD_CONTENT_PARAM_PIECEWISE) {
/* Reconstruct param */
gsize tlen = 0;
- gchar *ndata, *pos;
+ char *ndata, *pos;
sorted = param;
DL_SORT(sorted, rspamd_cmp_pieces);
@@ -267,7 +267,7 @@ rspamd_content_type_postprocess(rspamd_mempool_t *pool,
if (rspamd_ftok_icase_equal(&param->name, &srch)) {
found = param;
- gchar *lc_boundary;
+ char *lc_boundary;
/* Adjust boundary */
lc_boundary = rspamd_mempool_alloc(pool, param->value.len);
memcpy(lc_boundary, param->value.begin, param->value.len);
@@ -283,7 +283,7 @@ rspamd_content_type_postprocess(rspamd_mempool_t *pool,
RSPAMD_FTOK_ASSIGN(&srch, "name");
if (!rspamd_ftok_icase_equal(&param->name, &srch)) {
/* Just lowercase */
- rspamd_str_lc_utf8((gchar *) param->value.begin, param->value.len);
+ rspamd_str_lc_utf8((char *) param->value.begin, param->value.len);
}
}
}
@@ -308,8 +308,8 @@ rspamd_content_disposition_postprocess(rspamd_mempool_t *pool,
void rspamd_content_type_add_param(rspamd_mempool_t *pool,
struct rspamd_content_type *ct,
- gchar *name_start, gchar *name_end,
- gchar *value_start, gchar *value_end)
+ char *name_start, char *name_end,
+ char *value_start, char *value_end)
{
struct rspamd_content_type_param *nparam;
rspamd_ftok_t srch;
@@ -349,10 +349,10 @@ void rspamd_content_type_add_param(rspamd_mempool_t *pool,
}
static struct rspamd_content_type *
-rspamd_content_type_parser(gchar *in, gsize len, rspamd_mempool_t *pool)
+rspamd_content_type_parser(char *in, gsize len, rspamd_mempool_t *pool)
{
- guint obraces = 0, ebraces = 0, qlen = 0;
- gchar *p, *c, *end, *pname_start = NULL, *pname_end = NULL;
+ unsigned int obraces = 0, ebraces = 0, qlen = 0;
+ char *p, *c, *end, *pname_start = NULL, *pname_end = NULL;
struct rspamd_content_type *res = NULL, val;
gboolean eqsign_seen = FALSE;
enum {
@@ -662,7 +662,7 @@ rspamd_content_type_parser(gchar *in, gsize len, rspamd_mempool_t *pool)
}
if (val.type.len > 0) {
- gchar *tmp;
+ char *tmp;
res = rspamd_mempool_alloc(pool, sizeof(val));
memcpy(res, &val, sizeof(val));
@@ -688,12 +688,12 @@ rspamd_content_type_parser(gchar *in, gsize len, rspamd_mempool_t *pool)
}
struct rspamd_content_type *
-rspamd_content_type_parse(const gchar *in,
+rspamd_content_type_parse(const char *in,
gsize len, rspamd_mempool_t *pool)
{
struct rspamd_content_type *res = NULL;
rspamd_ftok_t srch;
- gchar *cpy;
+ char *cpy;
cpy = rspamd_mempool_alloc(pool, len + 1);
rspamd_strlcpy(cpy, in, len + 1);
@@ -793,7 +793,7 @@ rspamd_content_type_parse(const gchar *in,
}
}
else {
- msg_warn_pool("cannot parse content type: %*s", (gint) len, cpy);
+ msg_warn_pool("cannot parse content type: %*s", (int) len, cpy);
}
return res;
@@ -801,11 +801,11 @@ rspamd_content_type_parse(const gchar *in,
void rspamd_content_disposition_add_param(rspamd_mempool_t *pool,
struct rspamd_content_disposition *cd,
- const gchar *name_start, const gchar *name_end,
- const gchar *value_start, const gchar *value_end)
+ const char *name_start, const char *name_end,
+ const char *value_start, const char *value_end)
{
rspamd_ftok_t srch;
- gchar *name_cpy, *value_cpy, *name_cpy_end, *value_cpy_end;
+ char *name_cpy, *value_cpy, *name_cpy_end, *value_cpy_end;
struct rspamd_content_type_param *found = NULL, *nparam;
g_assert(cd != NULL);
@@ -850,7 +850,7 @@ void rspamd_content_disposition_add_param(rspamd_mempool_t *pool,
}
struct rspamd_content_disposition *
-rspamd_content_disposition_parse(const gchar *in,
+rspamd_content_disposition_parse(const char *in,
gsize len, rspamd_mempool_t *pool)
{
struct rspamd_content_disposition *res = NULL, val;
@@ -877,7 +877,7 @@ rspamd_content_disposition_parse(const gchar *in,
}
else {
msg_warn_pool("cannot parse content disposition: %*s",
- (gint) len, in);
+ (int) len, in);
}
return res;
diff --git a/src/libmime/content_type.h b/src/libmime/content_type.h
index ac49bdc35..2177cdf2d 100644
--- a/src/libmime/content_type.h
+++ b/src/libmime/content_type.h
@@ -46,13 +46,13 @@ enum rspamd_content_param_flags {
struct rspamd_content_type_param {
rspamd_ftok_t name;
rspamd_ftok_t value;
- guint rfc2231_id;
+ unsigned int rfc2231_id;
enum rspamd_content_param_flags flags;
struct rspamd_content_type_param *prev, *next;
};
struct rspamd_content_type {
- gchar *cpy;
+ char *cpy;
rspamd_ftok_t type;
rspamd_ftok_t subtype;
rspamd_ftok_t charset;
@@ -69,7 +69,7 @@ enum rspamd_content_disposition_type {
};
struct rspamd_content_disposition {
- gchar *lc_data;
+ char *lc_data;
enum rspamd_content_disposition_type type;
rspamd_ftok_t filename;
GHashTable *attrs; /* Can be empty */
@@ -85,8 +85,8 @@ struct rspamd_content_disposition {
*/
void rspamd_content_type_add_param(rspamd_mempool_t *pool,
struct rspamd_content_type *ct,
- gchar *name_start, gchar *name_end,
- gchar *value_start, gchar *value_end);
+ char *name_start, char *name_end,
+ char *value_start, char *value_end);
/**
* Parse content type from the header (performs copy + lowercase)
@@ -95,7 +95,7 @@ void rspamd_content_type_add_param(rspamd_mempool_t *pool,
* @param pool
* @return
*/
-struct rspamd_content_type *rspamd_content_type_parse(const gchar *in,
+struct rspamd_content_type *rspamd_content_type_parse(const char *in,
gsize len, rspamd_mempool_t *pool);
/**
@@ -109,8 +109,8 @@ struct rspamd_content_type *rspamd_content_type_parse(const gchar *in,
*/
void rspamd_content_disposition_add_param(rspamd_mempool_t *pool,
struct rspamd_content_disposition *cd,
- const gchar *name_start, const gchar *name_end,
- const gchar *value_start, const gchar *value_end);
+ const char *name_start, const char *name_end,
+ const char *value_start, const char *value_end);
/**
* Parse content-disposition header
@@ -119,7 +119,7 @@ void rspamd_content_disposition_add_param(rspamd_mempool_t *pool,
* @param pool
* @return
*/
-struct rspamd_content_disposition *rspamd_content_disposition_parse(const gchar *in,
+struct rspamd_content_disposition *rspamd_content_disposition_parse(const char *in,
gsize len,
rspamd_mempool_t *pool);
diff --git a/src/libmime/email_addr.c b/src/libmime/email_addr.c
index 0af7388a8..da1453050 100644
--- a/src/libmime/email_addr.c
+++ b/src/libmime/email_addr.c
@@ -48,7 +48,7 @@ rspamd_email_address_unescape(struct rspamd_email_address *addr)
}
struct rspamd_email_address *
-rspamd_email_address_from_smtp(const gchar *str, guint len)
+rspamd_email_address_from_smtp(const char *str, unsigned int len)
{
struct rspamd_email_address addr, *ret;
gsize nlen;
@@ -73,8 +73,8 @@ rspamd_email_address_from_smtp(const gchar *str, guint len)
nlen = ret->domain_len + ret->user_len + 2;
ret->addr = g_malloc(nlen + 1);
ret->addr_len = rspamd_snprintf((char *) ret->addr, nlen, "%*s@%*s",
- (gint) ret->user_len, ret->user,
- (gint) ret->domain_len, ret->domain);
+ (int) ret->user_len, ret->user,
+ (int) ret->domain_len, ret->domain);
ret->flags |= RSPAMD_EMAIL_ADDR_ADDR_ALLOCATED;
}
@@ -106,7 +106,7 @@ rspamd_email_address_add(rspamd_mempool_t *pool,
GString *name)
{
struct rspamd_email_address *elt;
- guint nlen;
+ unsigned int nlen;
elt = g_malloc0(sizeof(*elt));
rspamd_mempool_notify_alloc(pool, sizeof(*elt));
@@ -134,8 +134,8 @@ rspamd_email_address_add(rspamd_mempool_t *pool,
elt->addr = g_malloc(nlen + 1);
rspamd_mempool_notify_alloc(pool, nlen + 1);
elt->addr_len = rspamd_snprintf((char *) elt->addr, nlen, "%*s@%*s",
- (gint) elt->user_len, elt->user,
- (gint) elt->domain_len, elt->domain);
+ (int) elt->user_len, elt->user,
+ (int) elt->domain_len, elt->domain);
elt->flags |= RSPAMD_EMAIL_ADDR_ADDR_ALLOCATED;
}
@@ -155,7 +155,7 @@ static gboolean
rspamd_email_address_parse_heuristic(const char *data, size_t len,
struct rspamd_email_address *addr)
{
- const gchar *p = data, *at = NULL, *end = data + len;
+ const char *p = data, *at = NULL, *end = data + len;
gboolean ret = FALSE;
memset(addr, 0, sizeof(*addr));
@@ -199,11 +199,11 @@ rspamd_email_address_parse_heuristic(const char *data, size_t len,
}
static inline int
-rspamd_email_address_check_and_add(const gchar *start, gsize len,
+rspamd_email_address_check_and_add(const char *start, gsize len,
GPtrArray *res,
rspamd_mempool_t *pool,
GString *ns,
- gint max_elements)
+ int max_elements)
{
struct rspamd_email_address addr;
@@ -241,17 +241,17 @@ rspamd_email_address_check_and_add(const gchar *start, gsize len,
}
GPtrArray *
-rspamd_email_address_from_mime(rspamd_mempool_t *pool, const gchar *hdr,
- guint len,
+rspamd_email_address_from_mime(rspamd_mempool_t *pool, const char *hdr,
+ unsigned int len,
GPtrArray *src,
- gint max_elements)
+ int max_elements)
{
GPtrArray *res = src;
gboolean seen_at = FALSE, seen_obrace = FALSE;
- const gchar *p = hdr, *end = hdr + len, *c = hdr, *t;
+ const char *p = hdr, *end = hdr + len, *c = hdr, *t;
GString *ns, *cpy;
- gint obraces, ebraces;
+ int obraces, ebraces;
enum {
parse_name = 0,
parse_quoted,
@@ -343,7 +343,7 @@ rspamd_email_address_from_mime(rspamd_mempool_t *pool, const gchar *hdr,
if (*p == '"') {
/* We need to strip last spaces and update `ns` */
if (p > c) {
- guint nspaces = 0;
+ unsigned int nspaces = 0;
t = p - 1;
@@ -551,7 +551,7 @@ end:
void rspamd_email_address_list_destroy(gpointer ptr)
{
GPtrArray *ar = ptr;
- guint i;
+ unsigned int i;
struct rspamd_email_address *addr;
PTR_ARRAY_FOREACH(ar, i, addr)
diff --git a/src/libmime/email_addr.h b/src/libmime/email_addr.h
index ed00722f9..280e4a503 100644
--- a/src/libmime/email_addr.h
+++ b/src/libmime/email_addr.h
@@ -45,17 +45,17 @@ enum rspamd_email_address_flags {
* Structure that represents email address in a convenient way
*/
struct rspamd_email_address {
- const gchar *raw;
- const gchar *addr;
- const gchar *user;
- const gchar *domain;
- const gchar *name;
+ const char *raw;
+ const char *addr;
+ const char *user;
+ const char *domain;
+ const char *name;
- guint raw_len;
- guint addr_len;
- guint domain_len;
- guint user_len;
- guint flags;
+ unsigned int raw_len;
+ unsigned int addr_len;
+ unsigned int domain_len;
+ unsigned int user_len;
+ unsigned int flags;
};
struct rspamd_task;
@@ -66,7 +66,7 @@ struct rspamd_task;
* @param len length of string
* @return
*/
-struct rspamd_email_address *rspamd_email_address_from_smtp(const gchar *str, guint len);
+struct rspamd_email_address *rspamd_email_address_from_smtp(const char *str, unsigned int len);
/**
* Parses email address from the mime header, decodes names and return the array
@@ -78,8 +78,8 @@ struct rspamd_email_address *rspamd_email_address_from_smtp(const gchar *str, gu
* @return
*/
GPtrArray *
-rspamd_email_address_from_mime(rspamd_mempool_t *pool, const gchar *hdr, guint len,
- GPtrArray *src, gint max_elements);
+rspamd_email_address_from_mime(rspamd_mempool_t *pool, const char *hdr, unsigned int len,
+ GPtrArray *src, int max_elements);
/**
* Destroys list of email addresses
diff --git a/src/libmime/images.c b/src/libmime/images.c
index be4d02f06..1078baba6 100644
--- a/src/libmime/images.c
+++ b/src/libmime/images.c
@@ -36,12 +36,12 @@ INIT_LOG_MODULE(images)
static rspamd_lru_hash_t *images_hash = NULL;
#endif
-static const guint8 png_signature[] = {137, 80, 78, 71, 13, 10, 26, 10};
-static const guint8 jpg_sig1[] = {0xff, 0xd8};
-static const guint8 jpg_sig_jfif[] = {0xff, 0xe0};
-static const guint8 jpg_sig_exif[] = {0xff, 0xe1};
-static const guint8 gif_signature[] = {'G', 'I', 'F', '8'};
-static const guint8 bmp_signature[] = {'B', 'M'};
+static const uint8_t png_signature[] = {137, 80, 78, 71, 13, 10, 26, 10};
+static const uint8_t jpg_sig1[] = {0xff, 0xd8};
+static const uint8_t jpg_sig_jfif[] = {0xff, 0xe0};
+static const uint8_t jpg_sig_exif[] = {0xff, 0xe1};
+static const uint8_t gif_signature[] = {'G', 'I', 'F', '8'};
+static const uint8_t bmp_signature[] = {'B', 'M'};
static bool process_image(struct rspamd_task *task, struct rspamd_mime_part *part);
@@ -63,7 +63,7 @@ bool rspamd_images_process_mime_part_maybe(struct rspamd_task *task,
void rspamd_images_process(struct rspamd_task *task)
{
- guint i;
+ unsigned int i;
struct rspamd_mime_part *part;
PTR_ARRAY_FOREACH(MESSAGE_FIELD(task, parts), i, part)
@@ -108,7 +108,7 @@ process_png_image(rspamd_mempool_t *pool, rspamd_ftok_t *data)
{
struct rspamd_image *img;
uint32_t t;
- const guint8 *p;
+ const uint8_t *p;
if (data->len < 24) {
msg_info_pool("bad png detected (maybe striped)");
@@ -140,8 +140,8 @@ process_png_image(rspamd_mempool_t *pool, rspamd_ftok_t *data)
static struct rspamd_image *
process_jpg_image(rspamd_mempool_t *pool, rspamd_ftok_t *data)
{
- const guint8 *p, *end;
- guint16 h, w;
+ const uint8_t *p, *end;
+ uint16_t h, w;
struct rspamd_image *img;
img = rspamd_mempool_alloc0(pool, sizeof(struct rspamd_image));
@@ -154,13 +154,13 @@ process_jpg_image(rspamd_mempool_t *pool, rspamd_ftok_t *data)
while (p < end) {
if (p[0] == 0xFF && p[1] != 0xFF) {
- guint len = p[2] * 256 + p[3];
+ unsigned int len = p[2] * 256 + p[3];
p++;
if (*p == 0xc0 || *p == 0xc1 || *p == 0xc2 || *p == 0xc3 ||
*p == 0xc9 || *p == 0xca || *p == 0xcb) {
- memcpy(&h, p + 4, sizeof(guint16));
+ memcpy(&h, p + 4, sizeof(uint16_t));
h = p[4] * 0xff + p[5];
img->height = h;
w = p[6] * 0xff + p[7];
@@ -184,8 +184,8 @@ static struct rspamd_image *
process_gif_image(rspamd_mempool_t *pool, rspamd_ftok_t *data)
{
struct rspamd_image *img;
- const guint8 *p;
- guint16 t;
+ const uint8_t *p;
+ uint16_t t;
if (data->len < 10) {
msg_info_pool("bad gif detected (maybe striped)");
@@ -197,9 +197,9 @@ process_gif_image(rspamd_mempool_t *pool, rspamd_ftok_t *data)
img->data = data;
p = data->begin + 6;
- memcpy(&t, p, sizeof(guint16));
+ memcpy(&t, p, sizeof(uint16_t));
img->width = GUINT16_FROM_LE(t);
- memcpy(&t, p + 2, sizeof(guint16));
+ memcpy(&t, p + 2, sizeof(uint16_t));
img->height = GUINT16_FROM_LE(t);
return img;
@@ -210,7 +210,7 @@ process_bmp_image(rspamd_mempool_t *pool, rspamd_ftok_t *data)
{
struct rspamd_image *img;
int32_t t;
- const guint8 *p;
+ const uint8_t *p;
if (data->len < 28) {
msg_info_pool("bad bmp detected (maybe striped)");
@@ -235,20 +235,20 @@ process_bmp_image(rspamd_mempool_t *pool, rspamd_ftok_t *data)
* http://unix4lyfe.org/dct/
*/
static void
-rspamd_image_dct_block(gint pixels[8][8], gdouble *out)
+rspamd_image_dct_block(int pixels[8][8], double *out)
{
- gint i;
- gint rows[8][8];
+ int i;
+ int rows[8][8];
- static const gint c1 = 1004 /* cos(pi/16) << 10 */,
- s1 = 200 /* sin(pi/16) */,
- c3 = 851 /* cos(3pi/16) << 10 */,
- s3 = 569 /* sin(3pi/16) << 10 */,
- r2c6 = 554 /* sqrt(2)*cos(6pi/16) << 10 */,
- r2s6 = 1337 /* sqrt(2)*sin(6pi/16) << 10 */,
- r2 = 181; /* sqrt(2) << 7*/
+ static const int c1 = 1004 /* cos(pi/16) << 10 */,
+ s1 = 200 /* sin(pi/16) */,
+ c3 = 851 /* cos(3pi/16) << 10 */,
+ s3 = 569 /* sin(3pi/16) << 10 */,
+ r2c6 = 554 /* sqrt(2)*cos(6pi/16) << 10 */,
+ r2s6 = 1337 /* sqrt(2)*sin(6pi/16) << 10 */,
+ r2 = 181; /* sqrt(2) << 7*/
- gint x0, x1, x2, x3, x4, x5, x6, x7, x8;
+ int x0, x1, x2, x3, x4, x5, x6, x7, x8;
/* transform rows */
for (i = 0; i < 8; i++) {
@@ -362,8 +362,8 @@ rspamd_image_dct_block(gint pixels[8][8], gdouble *out)
}
struct rspamd_image_cache_entry {
- guchar digest[64];
- guchar dct[RSPAMD_DCT_LEN / NBBY];
+ unsigned char digest[64];
+ unsigned char dct[RSPAMD_DCT_LEN / NBBY];
};
static void
@@ -447,8 +447,8 @@ void rspamd_image_normalize(struct rspamd_task *task, struct rspamd_image *img)
{
#ifdef USABLE_GD
gdImagePtr src = NULL, dst = NULL;
- guint i, j, k, l;
- gdouble *dct;
+ unsigned int i, j, k, l;
+ double *dct;
if (img->data->len == 0 || img->data->len > G_MAXINT32) {
return;
@@ -496,7 +496,7 @@ void rspamd_image_normalize(struct rspamd_task *task, struct rspamd_image *img)
gdImageDestroy(src);
img->is_normalized = TRUE;
- dct = g_malloc0(sizeof(gdouble) * RSPAMD_DCT_LEN);
+ dct = g_malloc0(sizeof(double) * RSPAMD_DCT_LEN);
img->dct = g_malloc0(RSPAMD_DCT_LEN / NBBY);
rspamd_mempool_add_destructor(task->task_pool, g_free,
img->dct);
@@ -520,7 +520,7 @@ void rspamd_image_normalize(struct rspamd_task *task, struct rspamd_image *img)
*/
for (i = 0; i < RSPAMD_NORMALIZED_DIM; i += 8) {
for (j = 0; j < RSPAMD_NORMALIZED_DIM; j += 8) {
- gint p[8][8];
+ int p[8][8];
for (k = 0; k < 8; k++) {
p[k][0] = gdImageGetPixel(dst, i + k, j);
@@ -536,20 +536,20 @@ void rspamd_image_normalize(struct rspamd_task *task, struct rspamd_image *img)
rspamd_image_dct_block(p,
dct + i * RSPAMD_NORMALIZED_DIM + j);
- gdouble avg = 0.0;
+ double avg = 0.0;
for (k = 0; k < 8; k++) {
for (l = 0; l < 8; l++) {
- gdouble x = *(dct +
- i * RSPAMD_NORMALIZED_DIM + j + k * 8 + l);
- avg += (x - avg) / (gdouble) (k * 8 + l + 1);
+ double x = *(dct +
+ i * RSPAMD_NORMALIZED_DIM + j + k * 8 + l);
+ avg += (x - avg) / (double) (k * 8 + l + 1);
}
}
for (k = 0; k < 8; k++) {
for (l = 0; l < 8; l++) {
- guint idx = i * RSPAMD_NORMALIZED_DIM + j + k * 8 + l;
+ unsigned int idx = i * RSPAMD_NORMALIZED_DIM + j + k * 8 + l;
if (dct[idx] >= avg) {
setbit(img->dct, idx);
@@ -623,7 +623,7 @@ process_image(struct rspamd_task *task, struct rspamd_mime_part *part)
return false;
}
-const gchar *
+const char *
rspamd_image_type_str(enum rspamd_image_type type)
{
switch (type) {
@@ -652,8 +652,8 @@ rspamd_image_process_part(struct rspamd_task *task, struct rspamd_mime_part *par
struct rspamd_mime_header *rh;
struct rspamd_mime_text_part *tp;
struct html_image *himg;
- const gchar *cid;
- guint cid_len, i;
+ const char *cid;
+ unsigned int cid_len, i;
struct rspamd_image *img;
img = (struct rspamd_image *) part->specific.img;
@@ -707,7 +707,7 @@ rspamd_image_process_part(struct rspamd_task *task, struct rspamd_mime_part *par
void rspamd_images_link(struct rspamd_task *task)
{
struct rspamd_mime_part *part;
- guint i;
+ unsigned int i;
PTR_ARRAY_FOREACH(MESSAGE_FIELD(task, parts), i, part)
{
diff --git a/src/libmime/images.h b/src/libmime/images.h
index a70fb7eab..d55034e2d 100644
--- a/src/libmime/images.h
+++ b/src/libmime/images.h
@@ -31,7 +31,7 @@ struct rspamd_image {
uint32_t width;
uint32_t height;
gboolean is_normalized;
- guchar *dct;
+ unsigned char *dct;
};
/*
@@ -65,7 +65,7 @@ struct rspamd_image *rspamd_maybe_process_image(rspamd_mempool_t *pool,
/*
* Get textual representation of an image's type
*/
-const gchar *rspamd_image_type_str(enum rspamd_image_type type);
+const char *rspamd_image_type_str(enum rspamd_image_type type);
void rspamd_image_normalize(struct rspamd_task *task, struct rspamd_image *img);
diff --git a/src/libmime/lang_detection.c b/src/libmime/lang_detection.c
index 0321ee7df..c3a647507 100644
--- a/src/libmime/lang_detection.c
+++ b/src/libmime/lang_detection.c
@@ -33,14 +33,14 @@
static const gsize default_short_text_limit = 10;
static const gsize default_words = 80;
-static const gdouble update_prob = 0.6;
-static const gchar *default_languages_path = RSPAMD_SHAREDIR "/languages";
+static const double update_prob = 0.6;
+static const char *default_languages_path = RSPAMD_SHAREDIR "/languages";
#undef EXTRA_LANGDET_DEBUG
struct rspamd_language_unicode_match {
- const gchar *lang;
- gint unicode_code;
+ const char *lang;
+ int unicode_code;
};
/*
@@ -63,10 +63,10 @@ static const struct rspamd_language_unicode_match unicode_langs[] = {
/*
* Top languages
*/
-static const gchar *tier0_langs[] = {
+static const char *tier0_langs[] = {
"en",
};
-static const gchar *tier1_langs[] = {
+static const char *tier1_langs[] = {
"fr", "it", "de", "es", "nl",
"pt", "ru", "pl", "tk", "th", "ar"};
@@ -79,31 +79,31 @@ enum rspamd_language_category {
};
struct rspamd_language_elt {
- const gchar *name; /* e.g. "en" or "ru" */
- gint flags; /* enum rspamd_language_elt_flags */
+ const char *name; /* e.g. "en" or "ru" */
+ int flags; /* enum rspamd_language_elt_flags */
enum rspamd_language_category category;
- guint trigrams_words;
- guint stop_words;
- gdouble mean;
- gdouble std;
- guint occurrences; /* total number of parts with this language */
+ unsigned int trigrams_words;
+ unsigned int stop_words;
+ double mean;
+ double std;
+ unsigned int occurrences; /* total number of parts with this language */
};
struct rspamd_ngramm_elt {
struct rspamd_language_elt *elt;
- gdouble prob;
+ double prob;
};
struct rspamd_ngramm_chain {
GPtrArray *languages;
- gdouble mean;
- gdouble std;
- gchar *utf;
+ double mean;
+ double std;
+ char *utf;
};
struct rspamd_stop_word_range {
- guint start;
- guint stop;
+ unsigned int start;
+ unsigned int stop;
struct rspamd_language_elt *elt;
};
@@ -124,7 +124,7 @@ struct rspamd_stop_word_elt {
INIT_LOG_MODULE_PUBLIC(langdet)
static const struct rspamd_language_unicode_match *
-rspamd_language_search_unicode_match(const gchar *key,
+rspamd_language_search_unicode_match(const char *key,
const struct rspamd_language_unicode_match *elts, size_t nelts)
{
size_t i;
@@ -139,7 +139,7 @@ rspamd_language_search_unicode_match(const gchar *key,
}
static gboolean
-rspamd_language_search_str(const gchar *key, const gchar *elts[], size_t nelts)
+rspamd_language_search_str(const char *key, const char *elts[], size_t nelts)
{
size_t i;
@@ -151,7 +151,7 @@ rspamd_language_search_str(const gchar *key, const gchar *elts[], size_t nelts)
return FALSE;
}
-static guint
+static unsigned int
rspamd_trigram_hash_func(gconstpointer key)
{
return rspamd_cryptobox_fast_hash(key, 3 * sizeof(UChar32),
@@ -166,14 +166,14 @@ rspamd_trigram_equal_func(gconstpointer v, gconstpointer v2)
KHASH_INIT(rspamd_trigram_hash, const UChar32 *, struct rspamd_ngramm_chain, true,
rspamd_trigram_hash_func, rspamd_trigram_equal_func);
-KHASH_INIT(rspamd_candidates_hash, const gchar *,
+KHASH_INIT(rspamd_candidates_hash, const char *,
struct rspamd_lang_detector_res *, true,
rspamd_str_hash, rspamd_str_equal);
KHASH_INIT(rspamd_stopwords_hash, rspamd_ftok_t *,
char, false,
rspamd_ftok_hash, rspamd_ftok_equal);
-KHASH_INIT(rspamd_languages_hash, const gchar *, struct rspamd_language_elt *, true,
+KHASH_INIT(rspamd_languages_hash, const char *, struct rspamd_language_elt *, true,
rspamd_str_hash, rspamd_str_equal);
struct rspamd_lang_detector {
khash_t(rspamd_languages_hash) * languages;
@@ -215,8 +215,8 @@ rspamd_language_detector_ucs_is_latin(const UChar32 *s, gsize len)
}
struct rspamd_language_ucs_elt {
- guint freq;
- const gchar *utf;
+ unsigned int freq;
+ const char *utf;
UChar32 s[0];
};
@@ -225,15 +225,15 @@ rspamd_language_detector_init_ngramm(struct rspamd_config *cfg,
struct rspamd_lang_detector *d,
struct rspamd_language_elt *lelt,
struct rspamd_language_ucs_elt *ucs,
- guint len,
- guint freq,
- guint total,
+ unsigned int len,
+ unsigned int freq,
+ unsigned int total,
khash_t(rspamd_trigram_hash) * htb)
{
struct rspamd_ngramm_chain *chain = NULL, st_chain;
struct rspamd_ngramm_elt *elt;
khiter_t k;
- guint i;
+ unsigned int i;
gboolean found;
switch (len) {
@@ -262,7 +262,7 @@ rspamd_language_detector_init_ngramm(struct rspamd_config *cfg,
chain->utf = rspamd_mempool_strdup(cfg->cfg_pool, ucs->utf);
elt = rspamd_mempool_alloc(cfg->cfg_pool, sizeof(*elt));
elt->elt = lelt;
- elt->prob = ((gdouble) freq) / ((gdouble) total);
+ elt->prob = ((double) freq) / ((double) total);
g_ptr_array_add(chain->languages, elt);
k = kh_put(rspamd_trigram_hash, htb, ucs->s, &i);
@@ -276,7 +276,7 @@ rspamd_language_detector_init_ngramm(struct rspamd_config *cfg,
{
if (strcmp(elt->elt->name, lelt->name) == 0) {
found = TRUE;
- elt->prob += ((gdouble) freq) / ((gdouble) total);
+ elt->prob += ((double) freq) / ((double) total);
break;
}
}
@@ -284,14 +284,14 @@ rspamd_language_detector_init_ngramm(struct rspamd_config *cfg,
if (!found) {
elt = rspamd_mempool_alloc(cfg->cfg_pool, sizeof(*elt));
elt->elt = lelt;
- elt->prob = ((gdouble) freq) / ((gdouble) total);
+ elt->prob = ((double) freq) / ((double) total);
g_ptr_array_add(chain->languages, elt);
}
}
}
static inline enum rspamd_language_category
-rspamd_language_detector_get_category(guint uflags)
+rspamd_language_detector_get_category(unsigned int uflags)
{
enum rspamd_language_category cat = RSPAMD_LANGUAGE_LATIN;
@@ -308,10 +308,10 @@ rspamd_language_detector_get_category(guint uflags)
return cat;
}
-static const gchar *
+static const char *
rspamd_language_detector_print_flags(struct rspamd_language_elt *elt)
{
- static gchar flags_buf[256];
+ static char flags_buf[256];
goffset r = 0;
if (elt->flags & RS_LANGUAGE_TIER1) {
@@ -334,19 +334,19 @@ rspamd_language_detector_print_flags(struct rspamd_language_elt *elt)
return flags_buf;
}
-static gint
+static int
rspamd_language_detector_cmp_ngramm(gconstpointer a, gconstpointer b)
{
struct rspamd_language_ucs_elt *e1 = *(struct rspamd_language_ucs_elt **) a;
struct rspamd_language_ucs_elt *e2 = *(struct rspamd_language_ucs_elt **) b;
- return (gint) e2->freq - (gint) e1->freq;
+ return (int) e2->freq - (int) e1->freq;
}
static void
rspamd_language_detector_read_file(struct rspamd_config *cfg,
struct rspamd_lang_detector *d,
- const gchar *path,
+ const char *path,
const ucl_object_t *stop_words)
{
struct ucl_parser *parser;
@@ -357,10 +357,10 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
struct rspamd_language_elt *nelt;
struct rspamd_language_ucs_elt *ucs_elt;
khash_t(rspamd_trigram_hash) *htb = NULL;
- gchar *pos;
- guint total = 0, total_latin = 0, total_ngramms = 0, i, skipped,
- loaded;
- gdouble mean = 0, std = 0, delta = 0, delta2 = 0, m2 = 0;
+ char *pos;
+ unsigned int total = 0, total_latin = 0, total_ngramms = 0, i, skipped,
+ loaded;
+ double mean = 0, std = 0, delta = 0, delta2 = 0, m2 = 0;
enum rspamd_language_category cat = RSPAMD_LANGUAGE_MAX;
parser = ucl_parser_new(UCL_PARSER_NO_FILEVARS);
@@ -416,7 +416,7 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
return;
}
else {
- const gchar *stype = ucl_object_tostring(type);
+ const char *stype = ucl_object_tostring(type);
if (strcmp(stype, "latin") == 0) {
cat = RSPAMD_LANGUAGE_LATIN;
@@ -445,7 +445,7 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
const ucl_object_t *cur;
while ((cur = ucl_object_iterate(flags, &it, true)) != NULL) {
- const gchar *fl = ucl_object_tostring(cur);
+ const char *fl = ucl_object_tostring(cur);
if (cur) {
if (strcmp(fl, "diacritics") == 0) {
@@ -473,7 +473,7 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
struct sb_stemmer *stem = NULL;
it = NULL;
const ucl_object_t *w;
- guint start, stop;
+ unsigned int start, stop;
stem = sb_stemmer_new(nelt->name, "UTF_8");
start = rspamd_multipattern_get_npatterns(d->stop_words[cat].mp);
@@ -482,7 +482,7 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
gsize wlen;
const char *word = ucl_object_tolstring(w, &wlen);
const char *saved;
- guint mp_flags = RSPAMD_MULTIPATTERN_ICASE | RSPAMD_MULTIPATTERN_UTF8;
+ unsigned int mp_flags = RSPAMD_MULTIPATTERN_ICASE | RSPAMD_MULTIPATTERN_UTF8;
if (rspamd_multipattern_has_hyperscan()) {
mp_flags |= RSPAMD_MULTIPATTERN_RE;
@@ -511,13 +511,13 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
}
if (saved) {
- gint rc;
+ int rc;
rspamd_ftok_t *tok;
- gchar *dst;
+ char *dst;
tok = rspamd_mempool_alloc(cfg->cfg_pool,
sizeof(*tok) + wlen + 1);
- dst = ((gchar *) tok) + sizeof(*tok);
+ dst = ((char *) tok) + sizeof(*tok);
rspamd_strlcpy(dst, saved, wlen + 1);
tok->begin = dst;
tok->len = wlen;
@@ -548,7 +548,7 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
htb = d->trigrams[cat];
GPtrArray *ngramms;
- guint nsym;
+ unsigned int nsym;
if (rspamd_language_search_str(nelt->name, tier1_langs,
G_N_ELEMENTS(tier1_langs))) {
@@ -567,9 +567,9 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
loaded = 0;
while ((cur = ucl_object_iterate(freqs, &it, true)) != NULL) {
- const gchar *key;
+ const char *key;
gsize keylen;
- guint freq;
+ unsigned int freq;
key = ucl_object_keyl(cur, &keylen);
freq = ucl_object_toint(cur);
@@ -603,7 +603,7 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
if (!U_SUCCESS(uc_err)) {
msg_warn_config("cannot convert key %*s to unicode: %s",
- (gint) keylen, key, u_errorName(uc_err));
+ (int) keylen, key, u_errorName(uc_err));
continue;
}
@@ -684,7 +684,7 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
"std=%.2f, mean=%.2f, skipped=%d, loaded=%d, stop_words=%d; "
"(%s)",
nelt->name,
- (gint) nelt->trigrams_words,
+ (int) nelt->trigrams_words,
total,
std, mean,
skipped, loaded, nelt->stop_words,
@@ -698,7 +698,7 @@ rspamd_language_detector_read_file(struct rspamd_config *cfg,
}
static gboolean
-rspamd_ucl_array_find_str(const gchar *str, const ucl_object_t *ar)
+rspamd_ucl_array_find_str(const char *str, const ucl_object_t *ar)
{
ucl_object_iter_t it = NULL;
const ucl_object_t *cur;
@@ -722,8 +722,8 @@ rspamd_language_detector_process_chain(struct rspamd_config *cfg,
struct rspamd_ngramm_chain *chain)
{
struct rspamd_ngramm_elt *elt;
- guint i;
- gdouble delta, mean = 0, delta2, m2 = 0, std;
+ unsigned int i;
+ double delta, mean = 0, delta2, m2 = 0, std;
if (chain->languages->len > 3) {
PTR_ARRAY_FOREACH(chain->languages, i, elt)
@@ -767,7 +767,7 @@ static void
rspamd_language_detector_dtor(struct rspamd_lang_detector *d)
{
if (d) {
- for (guint i = 0; i < RSPAMD_LANGUAGE_MAX; i++) {
+ for (unsigned int i = 0; i < RSPAMD_LANGUAGE_MAX; i++) {
kh_destroy(rspamd_trigram_hash, d->trigrams[i]);
rspamd_multipattern_destroy(d->stop_words[i].mp);
g_array_free(d->stop_words[i].ranges, TRUE);
@@ -787,13 +787,13 @@ rspamd_language_detector_init(struct rspamd_config *cfg)
{
const ucl_object_t *section, *elt, *languages_enable = NULL,
*languages_disable = NULL;
- const gchar *languages_path = default_languages_path;
+ const char *languages_path = default_languages_path;
glob_t gl;
size_t i, short_text_limit = default_short_text_limit, total = 0;
UErrorCode uc_err = U_ZERO_ERROR;
GString *languages_pattern;
struct rspamd_ngramm_chain *chain, schain;
- gchar *fname;
+ char *fname;
struct rspamd_lang_detector *ret = NULL;
struct ucl_parser *parser;
ucl_object_t *stop_words;
@@ -912,8 +912,8 @@ rspamd_language_detector_init(struct rspamd_config *cfg)
msg_info_config("loaded %d languages, "
"%d trigrams; %s",
- (gint) kh_size(ret->languages),
- (gint) total, fasttext_status);
+ (int) kh_size(ret->languages),
+ (int) total, fasttext_status);
g_free(fasttext_status);
if (stop_words) {
@@ -936,11 +936,11 @@ end:
}
static void
-rspamd_language_detector_random_select(GArray *ucs_tokens, guint nwords,
+rspamd_language_detector_random_select(GArray *ucs_tokens, unsigned int nwords,
goffset *offsets_out,
uint64_t *seed)
{
- guint step_len, remainder, i, out_idx;
+ unsigned int step_len, remainder, i, out_idx;
uint64_t coin, sel;
rspamd_stat_token_t *tok;
@@ -973,7 +973,7 @@ rspamd_language_detector_random_select(GArray *ucs_tokens, guint nwords,
for (i = step_len + remainder; i < ucs_tokens->len;
i += step_len, out_idx++) {
- guint ntries = 0;
+ unsigned int ntries = 0;
coin = rspamd_random_uint64_fast_seed(seed);
sel = (coin % step_len) + i;
@@ -1028,9 +1028,9 @@ rspamd_language_detector_random_select(GArray *ucs_tokens, guint nwords,
static goffset
rspamd_language_detector_next_ngramm(rspamd_stat_token_t *tok, UChar32 *window,
- guint wlen, goffset cur_off)
+ unsigned int wlen, goffset cur_off)
{
- guint i;
+ unsigned int i;
if (wlen > 1) {
/* Deal with spaces at the beginning and ending */
@@ -1081,13 +1081,13 @@ rspamd_language_detector_process_ngramm_full(struct rspamd_task *task,
khash_t(rspamd_candidates_hash) * candidates,
khash_t(rspamd_trigram_hash) * trigrams)
{
- guint i;
- gint ret;
+ unsigned int i;
+ int ret;
struct rspamd_ngramm_chain *chain = NULL;
struct rspamd_ngramm_elt *elt;
struct rspamd_lang_detector_res *cand;
khiter_t k;
- gdouble prob;
+ double prob;
k = kh_get(rspamd_trigram_hash, trigrams, window);
if (k != kh_end(trigrams)) {
@@ -1140,7 +1140,7 @@ rspamd_language_detector_detect_word(struct rspamd_task *task,
khash_t(rspamd_candidates_hash) * candidates,
khash_t(rspamd_trigram_hash) * trigrams)
{
- const guint wlen = 3;
+ const unsigned int wlen = 3;
UChar32 window[3];
goffset cur = 0;
@@ -1151,7 +1151,7 @@ rspamd_language_detector_detect_word(struct rspamd_task *task,
}
}
-static const gdouble cutoff_limit = -8.0;
+static const double cutoff_limit = -8.0;
/*
* Converts frequencies to log probabilities, filter those candidates who
* has the lowest probabilities
@@ -1160,7 +1160,7 @@ static const gdouble cutoff_limit = -8.0;
static inline void
rspamd_language_detector_filter_step1(struct rspamd_task *task,
struct rspamd_lang_detector_res *cand,
- gdouble *max_prob, guint *filtered)
+ double *max_prob, unsigned int *filtered)
{
if (!isnan(cand->prob)) {
if (cand->prob == 0) {
@@ -1189,7 +1189,7 @@ rspamd_language_detector_filter_step1(struct rspamd_task *task,
static inline void
rspamd_language_detector_filter_step2(struct rspamd_task *task,
struct rspamd_lang_detector_res *cand,
- gdouble max_prob, guint *filtered)
+ double max_prob, unsigned int *filtered)
{
/*
* Probabilities are logarithmic, so if prob1 - prob2 > 4, it means that
@@ -1208,8 +1208,8 @@ rspamd_language_detector_filter_negligible(struct rspamd_task *task,
khash_t(rspamd_candidates_hash) * candidates)
{
struct rspamd_lang_detector_res *cand;
- guint filtered = 0;
- gdouble max_prob = -(G_MAXDOUBLE);
+ unsigned int filtered = 0;
+ double max_prob = -(G_MAXDOUBLE);
kh_foreach_value(candidates, cand,
rspamd_language_detector_filter_step1(task, cand, &max_prob, &filtered));
@@ -1221,17 +1221,17 @@ rspamd_language_detector_filter_negligible(struct rspamd_task *task,
static void
rspamd_language_detector_detect_type(struct rspamd_task *task,
- guint nwords,
+ unsigned int nwords,
struct rspamd_lang_detector *d,
GArray *words,
enum rspamd_language_category cat,
khash_t(rspamd_candidates_hash) * candidates,
struct rspamd_mime_text_part *part)
{
- guint nparts = MIN(words->len, nwords);
+ unsigned int nparts = MIN(words->len, nwords);
goffset *selected_words;
rspamd_stat_token_t *tok;
- guint i;
+ unsigned int i;
uint64_t seed;
/* Seed PRNG with part digest to provide some sort of determinism */
@@ -1255,7 +1255,7 @@ rspamd_language_detector_detect_type(struct rspamd_task *task,
g_free(selected_words);
}
-static gint
+static int
rspamd_language_detector_cmp(gconstpointer a, gconstpointer b)
{
const struct rspamd_lang_detector_res
@@ -1280,14 +1280,14 @@ enum rspamd_language_detected_type {
static enum rspamd_language_detected_type
rspamd_language_detector_try_ngramm(struct rspamd_task *task,
- guint nwords,
+ unsigned int nwords,
struct rspamd_lang_detector *d,
GArray *ucs_tokens,
enum rspamd_language_category cat,
khash_t(rspamd_candidates_hash) * candidates,
struct rspamd_mime_text_part *part)
{
- guint cand_len = 0;
+ unsigned int cand_len = 0;
struct rspamd_lang_detector_res *cand;
rspamd_language_detector_detect_type(task,
@@ -1322,15 +1322,15 @@ enum rspamd_language_sort_flags {
struct rspamd_frequency_sort_cbdata {
struct rspamd_lang_detector *d;
enum rspamd_language_sort_flags flags;
- gdouble std;
- gdouble mean;
+ double std;
+ double mean;
};
-static const gdouble tier0_adjustment = 1.2;
-static const gdouble tier1_adjustment = 0.8;
-static const gdouble frequency_adjustment = 0.8;
+static const double tier0_adjustment = 1.2;
+static const double tier1_adjustment = 0.8;
+static const double frequency_adjustment = 0.8;
-static gint
+static int
rspamd_language_detector_cmp_heuristic(gconstpointer a, gconstpointer b,
gpointer ud)
{
@@ -1338,18 +1338,18 @@ rspamd_language_detector_cmp_heuristic(gconstpointer a, gconstpointer b,
struct rspamd_lang_detector_res
*canda = *(struct rspamd_lang_detector_res **) a,
*candb = *(struct rspamd_lang_detector_res **) b;
- gdouble adj;
- gdouble proba_adjusted, probb_adjusted, freqa, freqb;
+ double adj;
+ double proba_adjusted, probb_adjusted, freqa, freqb;
if (cbd->d->total_occurrences == 0) {
/* Not enough data, compare directly */
return rspamd_language_detector_cmp(a, b);
}
- freqa = ((gdouble) canda->elt->occurrences) /
- (gdouble) cbd->d->total_occurrences;
- freqb = ((gdouble) candb->elt->occurrences) /
- (gdouble) cbd->d->total_occurrences;
+ freqa = ((double) canda->elt->occurrences) /
+ (double) cbd->d->total_occurrences;
+ freqb = ((double) candb->elt->occurrences) /
+ (double) cbd->d->total_occurrences;
proba_adjusted = canda->prob;
probb_adjusted = candb->prob;
@@ -1405,15 +1405,15 @@ rspamd_language_detector_cmp_heuristic(gconstpointer a, gconstpointer b,
static void
rspamd_language_detector_unicode_scripts(struct rspamd_task *task,
struct rspamd_mime_text_part *part,
- guint *pchinese,
- guint *pspecial)
+ unsigned int *pchinese,
+ unsigned int *pspecial)
{
- const gchar *p = part->utf_stripped_content->data, *end;
- guint i = 0, cnt = 0;
+ const char *p = part->utf_stripped_content->data, *end;
+ unsigned int i = 0, cnt = 0;
end = p + part->utf_stripped_content->len;
int32_t uc, sc;
- guint nlatin = 0, nchinese = 0, nspecial = 0;
- const guint cutoff_limit = 32;
+ unsigned int nlatin = 0, nchinese = 0, nspecial = 0;
+ const unsigned int cutoff_limit = 32;
while (p + i < end) {
U8_NEXT(p, i, part->utf_stripped_content->len, uc);
@@ -1527,7 +1527,7 @@ rspamd_language_detector_unicode_scripts(struct rspamd_task *task,
static inline void
rspamd_language_detector_set_language(struct rspamd_task *task,
struct rspamd_mime_text_part *part,
- const gchar *code,
+ const char *code,
struct rspamd_language_elt *elt)
{
struct rspamd_lang_detector_res *r;
@@ -1548,10 +1548,10 @@ rspamd_language_detector_set_language(struct rspamd_task *task,
static gboolean
rspamd_language_detector_try_uniscript(struct rspamd_task *task,
struct rspamd_mime_text_part *part,
- guint nchinese,
- guint nspecial)
+ unsigned int nchinese,
+ unsigned int nspecial)
{
- guint i;
+ unsigned int i;
for (i = 0; i < G_N_ELEMENTS(unicode_langs); i++) {
if (unicode_langs[i].unicode_code & part->unicode_scripts) {
@@ -1598,7 +1598,7 @@ rspamd_language_detector_try_uniscript(struct rspamd_task *task,
return FALSE;
}
-static guint
+static unsigned int
rspamd_langelt_hash_func(gconstpointer key)
{
const struct rspamd_language_elt *elt = (const struct rspamd_language_elt *) key;
@@ -1626,10 +1626,10 @@ struct rspamd_sw_cbdata {
GArray *ranges;
};
-static gint
+static int
rspamd_ranges_cmp(const void *k, const void *memb)
{
- gint pos = GPOINTER_TO_INT(k);
+ int pos = GPOINTER_TO_INT(k);
const struct rspamd_stop_word_range *r = (struct rspamd_stop_word_range *) memb;
if (pos >= r->start && pos < r->stop) {
@@ -1642,17 +1642,17 @@ rspamd_ranges_cmp(const void *k, const void *memb)
return 1;
}
-static gint
+static int
rspamd_language_detector_sw_cb(struct rspamd_multipattern *mp,
- guint strnum,
- gint match_start,
- gint match_pos,
- const gchar *text,
+ unsigned int strnum,
+ int match_start,
+ int match_pos,
+ const char *text,
gsize len,
void *context)
{
/* Check if boundary */
- const gchar *prev = text, *next = text + len;
+ const char *prev = text, *next = text + len;
struct rspamd_stop_word_range *r;
struct rspamd_sw_cbdata *cbdata = (struct rspamd_sw_cbdata *) context;
khiter_t k;
@@ -1683,7 +1683,7 @@ rspamd_language_detector_sw_cb(struct rspamd_multipattern *mp,
g_assert(r != NULL);
k = kh_get(rspamd_sw_hash, cbdata->res, r->elt);
- gint nwords = 1;
+ int nwords = 1;
if (k != kh_end(cbdata->res)) {
khiter_t set_k;
@@ -1704,7 +1704,7 @@ rspamd_language_detector_sw_cb(struct rspamd_multipattern *mp,
}
}
else {
- gint tt;
+ int tt;
k = kh_put(rspamd_sw_hash, cbdata->res, r->elt, &tt);
kh_value(cbdata->res, k) = kh_init(rspamd_sw_res_set);
@@ -1824,8 +1824,8 @@ rspamd_language_detector_detect(struct rspamd_task *task,
{
khash_t(rspamd_candidates_hash) * candidates;
GPtrArray *result;
- gdouble mean, std, start_ticks, end_ticks;
- guint cand_len;
+ double mean, std, start_ticks, end_ticks;
+ unsigned int cand_len;
enum rspamd_language_category cat;
struct rspamd_lang_detector_res *cand;
enum rspamd_language_detected_type r;
@@ -1839,7 +1839,7 @@ rspamd_language_detector_detect(struct rspamd_task *task,
start_ticks = rspamd_get_ticks(TRUE);
- guint nchinese = 0, nspecial = 0;
+ unsigned int nchinese = 0, nspecial = 0;
rspamd_language_detector_unicode_scripts(task, part, &nchinese, &nspecial);
/* Disable internal language detection heuristics if we have fasttext */
@@ -1968,7 +1968,7 @@ rspamd_language_detector_detect(struct rspamd_task *task,
mean /= cand_len;
kh_foreach_value(candidates, cand, {
- gdouble err;
+ double err;
if (!isnan(cand->prob)) {
err = cand->prob - mean;
std += fabs(err);
@@ -2076,7 +2076,7 @@ void rspamd_language_detector_unref(struct rspamd_lang_detector *d)
gboolean
rspamd_language_detector_is_stop_word(struct rspamd_lang_detector *d,
- const gchar *word, gsize wlen)
+ const char *word, gsize wlen)
{
khiter_t k;
rspamd_ftok_t search;
@@ -2093,7 +2093,7 @@ rspamd_language_detector_is_stop_word(struct rspamd_lang_detector *d,
return FALSE;
}
-gint rspamd_language_detector_elt_flags(const struct rspamd_language_elt *elt)
+int rspamd_language_detector_elt_flags(const struct rspamd_language_elt *elt)
{
if (elt) {
return elt->flags;
diff --git a/src/libmime/lang_detection.h b/src/libmime/lang_detection.h
index 5423c13b7..45d3b24b6 100644
--- a/src/libmime/lang_detection.h
+++ b/src/libmime/lang_detection.h
@@ -60,8 +60,8 @@ enum rspamd_language_elt_flags {
};
struct rspamd_lang_detector_res {
- gdouble prob;
- const gchar *lang;
+ double prob;
+ const char *lang;
struct rspamd_language_elt *elt;
};
@@ -95,14 +95,14 @@ gboolean rspamd_language_detector_detect(struct rspamd_task *task,
* @return
*/
gboolean rspamd_language_detector_is_stop_word(struct rspamd_lang_detector *d,
- const gchar *word, gsize wlen);
+ const char *word, gsize wlen);
/**
* Return language flags for a specific language elt
* @param elt
* @return
*/
-gint rspamd_language_detector_elt_flags(const struct rspamd_language_elt *elt);
+int rspamd_language_detector_elt_flags(const struct rspamd_language_elt *elt);
#ifdef __cplusplus
}
#endif
diff --git a/src/libmime/lang_detection_fasttext.cxx b/src/libmime/lang_detection_fasttext.cxx
index c973ed710..faa97b0fc 100644
--- a/src/libmime/lang_detection_fasttext.cxx
+++ b/src/libmime/lang_detection_fasttext.cxx
@@ -187,7 +187,7 @@ rspamd_fasttext_predict_result_t rspamd_lang_detection_fasttext_detect(void *ud,
return nullptr;
#else
/* Avoid too long inputs */
- static const guint max_fasttext_input_len = 1024 * 1024;
+ static const unsigned int max_fasttext_input_len = 1024 * 1024;
auto *real_model = FASTTEXT_MODEL_TO_C_API(ud);
std::vector<std::int32_t> words_vec;
words_vec.reserve(utf_words->len);
@@ -215,7 +215,7 @@ void rspamd_lang_detection_fasttext_destroy(void *ud)
}
-guint rspamd_lang_detection_fasttext_get_nlangs(rspamd_fasttext_predict_result_t res)
+unsigned int rspamd_lang_detection_fasttext_get_nlangs(rspamd_fasttext_predict_result_t res)
{
#ifdef WITH_FASTTEXT
auto *real_res = FASTTEXT_RESULT_TO_C_API(res);
diff --git a/src/libmime/lang_detection_fasttext.h b/src/libmime/lang_detection_fasttext.h
index c8710d3c4..2a2756968 100644
--- a/src/libmime/lang_detection_fasttext.h
+++ b/src/libmime/lang_detection_fasttext.h
@@ -60,7 +60,7 @@ rspamd_fasttext_predict_result_t rspamd_lang_detection_fasttext_detect(void *ud,
* @param ud
* @return
*/
-guint rspamd_lang_detection_fasttext_get_nlangs(rspamd_fasttext_predict_result_t ud);
+unsigned int rspamd_lang_detection_fasttext_get_nlangs(rspamd_fasttext_predict_result_t ud);
/**
* Get language from fasttext result
* @param res
diff --git a/src/libmime/message.c b/src/libmime/message.c
index f74ca0dca..f2cabf399 100644
--- a/src/libmime/message.c
+++ b/src/libmime/message.c
@@ -46,14 +46,14 @@
#define SET_PART_RAW(part) ((part)->flags &= ~RSPAMD_MIME_TEXT_PART_FLAG_UTF)
#define SET_PART_UTF(part) ((part)->flags |= RSPAMD_MIME_TEXT_PART_FLAG_UTF)
-static const gchar gtube_pattern_reject[] = "XJS*C4JDBQADN1.NSBN3*2IDNEN*"
- "GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X";
-static const gchar gtube_pattern_add_header[] = "YJS*C4JDBQADN1.NSBN3*2IDNEN*"
- "GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X";
-static const gchar gtube_pattern_rewrite_subject[] = "ZJS*C4JDBQADN1.NSBN3*2IDNEN*"
- "GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X";
-static const gchar gtube_pattern_no_action[] = "AJS*C4JDBQADN1.NSBN3*2IDNEN*"
+static const char gtube_pattern_reject[] = "XJS*C4JDBQADN1.NSBN3*2IDNEN*"
+ "GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X";
+static const char gtube_pattern_add_header[] = "YJS*C4JDBQADN1.NSBN3*2IDNEN*"
"GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X";
+static const char gtube_pattern_rewrite_subject[] = "ZJS*C4JDBQADN1.NSBN3*2IDNEN*"
+ "GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X";
+static const char gtube_pattern_no_action[] = "AJS*C4JDBQADN1.NSBN3*2IDNEN*"
+ "GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X";
struct rspamd_multipattern *gtube_matcher = NULL;
static const uint64_t words_hash_seed = 0xdeadbabe;
@@ -69,7 +69,7 @@ rspamd_mime_part_extract_words(struct rspamd_task *task,
struct rspamd_mime_text_part *part)
{
rspamd_stat_token_t *w;
- guint i, total_len = 0, short_len = 0;
+ unsigned int i, total_len = 0, short_len = 0;
if (part->utf_words) {
rspamd_stem_words(part->utf_words, task->task_pool, part->language,
@@ -109,7 +109,7 @@ rspamd_mime_part_extract_words(struct rspamd_task *task,
}
if (part->utf_words->len) {
- gdouble *avg_len_p, *short_len_p;
+ double *avg_len_p, *short_len_p;
avg_len_p = rspamd_mempool_get_variable(task->task_pool,
RSPAMD_MEMPOOL_AVG_WORDS_LEN);
@@ -152,8 +152,8 @@ rspamd_mime_part_create_words(struct rspamd_task *task,
#if U_ICU_VERSION_MAJOR_NUM < 50
/* Hack to prevent hang with Thai in old libicu */
- const gchar *p = part->utf_stripped_content->data, *end;
- guint i = 0;
+ const char *p = part->utf_stripped_content->data, *end;
+ unsigned int i = 0;
end = p + part->utf_stripped_content->len;
int32_t uc, sc;
@@ -225,10 +225,10 @@ rspamd_mime_part_detect_language(struct rspamd_task *task,
static void
rspamd_strip_newlines_parse(struct rspamd_task *task,
- const gchar *begin, const gchar *pe,
+ const char *begin, const char *pe,
struct rspamd_mime_text_part *part)
{
- const gchar *p = begin, *c = begin;
+ const char *p = begin, *c = begin;
gboolean crlf_added = FALSE, is_utf = IS_TEXT_PART_UTF(part);
gboolean url_open_bracket = FALSE;
UChar32 uc;
@@ -253,7 +253,7 @@ rspamd_strip_newlines_parse(struct rspamd_task *task,
if (p > c) {
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) c, p - c);
+ (const uint8_t *) c, p - c);
c = begin + off;
p = c;
}
@@ -290,7 +290,7 @@ rspamd_strip_newlines_parse(struct rspamd_task *task,
state = seen_cr;
if (p > c) {
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) c, p - c);
+ (const uint8_t *) c, p - c);
}
crlf_added = FALSE;
@@ -300,7 +300,7 @@ rspamd_strip_newlines_parse(struct rspamd_task *task,
/* Double \r\r */
if (!crlf_added) {
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) " ", 1);
+ (const uint8_t *) " ", 1);
crlf_added = TRUE;
g_ptr_array_add(part->newlines,
(((gpointer) (goffset) (part->utf_stripped_content->len))));
@@ -328,14 +328,14 @@ rspamd_strip_newlines_parse(struct rspamd_task *task,
if (p > c) {
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) c, p - c);
+ (const uint8_t *) c, p - c);
}
c = p + 1;
if (IS_TEXT_PART_HTML(part) || !url_open_bracket) {
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) " ", 1);
+ (const uint8_t *) " ", 1);
g_ptr_array_add(part->newlines,
(((gpointer) (goffset) (part->utf_stripped_content->len))));
crlf_added = TRUE;
@@ -350,7 +350,7 @@ rspamd_strip_newlines_parse(struct rspamd_task *task,
if (!crlf_added) {
if (IS_TEXT_PART_HTML(part) || !url_open_bracket) {
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) " ", 1);
+ (const uint8_t *) " ", 1);
crlf_added = TRUE;
}
@@ -366,7 +366,7 @@ rspamd_strip_newlines_parse(struct rspamd_task *task,
/* Double \n\n */
if (!crlf_added) {
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) " ", 1);
+ (const uint8_t *) " ", 1);
crlf_added = TRUE;
g_ptr_array_add(part->newlines,
(((gpointer) (goffset) (part->utf_stripped_content->len))));
@@ -430,7 +430,7 @@ rspamd_strip_newlines_parse(struct rspamd_task *task,
if (*p == ' ') {
if (!crlf_added) {
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) " ", 1);
+ (const uint8_t *) " ", 1);
}
while (p < pe && *p == ' ') {
@@ -461,7 +461,7 @@ rspamd_strip_newlines_parse(struct rspamd_task *task,
switch (state) {
case normal_char:
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) c, p - c);
+ (const uint8_t *) c, p - c);
while (c < p) {
if (*c == ' ') {
@@ -489,7 +489,7 @@ rspamd_strip_newlines_parse(struct rspamd_task *task,
if (!crlf_added) {
g_byte_array_append(part->utf_stripped_content,
- (const guint8 *) " ", 1);
+ (const uint8_t *) " ", 1);
g_ptr_array_add(part->newlines,
(((gpointer) (goffset) (part->utf_stripped_content->len))));
}
@@ -510,8 +510,8 @@ static void
rspamd_normalize_text_part(struct rspamd_task *task,
struct rspamd_mime_text_part *part)
{
- const gchar *p, *end;
- guint i;
+ const char *p, *end;
+ unsigned int i;
goffset off;
struct rspamd_process_exception *ex;
UErrorCode uc_err = U_ZERO_ERROR;
@@ -524,7 +524,7 @@ rspamd_normalize_text_part(struct rspamd_task *task,
else {
part->utf_stripped_content = g_byte_array_sized_new(part->utf_content.len);
- p = (const gchar *) part->utf_content.begin;
+ p = (const char *) part->utf_content.begin;
end = p + part->utf_content.len;
rspamd_strip_newlines_parse(task, p, end, part);
@@ -569,15 +569,15 @@ rspamd_normalize_text_part(struct rspamd_task *task,
#define MIN3(a, b, c) ((a) < (b) ? ((a) < (c) ? (a) : (c)) : ((b) < (c) ? (b) : (c)))
-static guint
+static unsigned int
rspamd_words_levenshtein_distance(struct rspamd_task *task,
GArray *w1, GArray *w2)
{
- guint s1len, s2len, x, y, lastdiag, olddiag;
- guint *column, ret;
+ unsigned int s1len, s2len, x, y, lastdiag, olddiag;
+ unsigned int *column, ret;
uint64_t h1, h2;
- gint eq;
- static const guint max_words = 8192;
+ int eq;
+ static const unsigned int max_words = 8192;
s1len = w1->len;
s2len = w2->len;
@@ -596,7 +596,7 @@ rspamd_words_levenshtein_distance(struct rspamd_task *task,
}
}
- column = g_malloc0((s1len + 1) * sizeof(guint));
+ column = g_malloc0((s1len + 1) * sizeof(unsigned int));
for (y = 1; y <= s1len; y++) {
column[y] = y;
@@ -626,12 +626,12 @@ rspamd_words_levenshtein_distance(struct rspamd_task *task,
return ret;
}
-static gint
+static int
rspamd_multipattern_gtube_cb(struct rspamd_multipattern *mp,
- guint strnum,
- gint match_start,
- gint match_pos,
- const gchar *text,
+ unsigned int strnum,
+ int match_start,
+ int match_pos,
+ const char *text,
gsize len,
void *context)
{
@@ -652,7 +652,7 @@ static enum rspamd_action_type
rspamd_check_gtube(struct rspamd_task *task, struct rspamd_mime_text_part *part)
{
static const gsize max_check_size = 8 * 1024;
- gint ret;
+ int ret;
enum rspamd_action_type act = METRIC_ACTION_NOACTION;
enum rspamd_gtube_patterns_policy policy = task->cfg ? task->cfg->gtube_patterns_policy : RSPAMD_GTUBE_REJECT;
g_assert(part != NULL);
@@ -719,7 +719,7 @@ rspamd_check_gtube(struct rspamd_task *task, struct rspamd_mime_text_part *part)
return act;
}
-static gint
+static int
exceptions_compare_func(gconstpointer a, gconstpointer b)
{
const struct rspamd_process_exception *ea = a, *eb = b;
@@ -741,7 +741,7 @@ rspamd_message_process_plain_text_part(struct rspamd_task *task,
if (text_part->utf_raw_content != NULL) {
/* Just have the same content */
- text_part->utf_content.begin = (const gchar *) text_part->utf_raw_content->data;
+ text_part->utf_content.begin = (const char *) text_part->utf_raw_content->data;
text_part->utf_content.len = text_part->utf_raw_content->len;
}
else {
@@ -845,7 +845,7 @@ rspamd_message_process_text_part_maybe(struct rspamd_task *task,
uint16_t *cur_url_order)
{
struct rspamd_mime_text_part *text_part;
- guint flags = 0;
+ unsigned int flags = 0;
enum rspamd_action_type act;
/* Skip attachments */
@@ -881,7 +881,7 @@ rspamd_message_process_text_part_maybe(struct rspamd_task *task,
act = rspamd_check_gtube(task, text_part);
if (act != METRIC_ACTION_NOACTION) {
struct rspamd_action *action;
- gdouble score = NAN;
+ double score = NAN;
action = rspamd_config_get_action_by_type(task->cfg, act);
@@ -950,15 +950,15 @@ rspamd_message_process_text_part_maybe(struct rspamd_task *task,
/* Creates message from various data using libmagic to detect type */
static void
-rspamd_message_from_data(struct rspamd_task *task, const guchar *start,
+rspamd_message_from_data(struct rspamd_task *task, const unsigned char *start,
gsize len)
{
struct rspamd_content_type *ct = NULL;
struct rspamd_mime_part *part;
const char *mb = "application/octet-stream";
- gchar *mid;
+ char *mid;
rspamd_ftok_t srch, *tok;
- gchar cdbuf[1024];
+ char cdbuf[1024];
g_assert(start != NULL);
@@ -1075,7 +1075,7 @@ rspamd_message_from_data(struct rspamd_task *task, const guchar *start,
static void
rspamd_message_dtor(struct rspamd_message *msg)
{
- guint i;
+ unsigned int i;
struct rspamd_mime_part *p;
struct rspamd_mime_text_part *tp;
@@ -1146,9 +1146,9 @@ rspamd_message_new(struct rspamd_task *task)
gboolean
rspamd_message_parse(struct rspamd_task *task)
{
- const gchar *p;
+ const char *p;
gsize len;
- guint i;
+ unsigned int i;
GError *err = NULL;
uint64_t n[2], seed;
@@ -1205,7 +1205,7 @@ rspamd_message_parse(struct rspamd_task *task)
enum rspamd_mime_parse_error ret;
debug_task("construct mime parser from string length %d",
- (gint) task->msg.len);
+ (int) task->msg.len);
ret = rspamd_mime_parse_task(task, &err);
switch (ret) {
@@ -1257,7 +1257,7 @@ rspamd_message_parse(struct rspamd_task *task)
struct rspamd_mime_part *part;
/* Blake2b applied to string 'rspamd' */
- static const guchar RSPAMD_ALIGNED(32) hash_key[] = {
+ static const unsigned char RSPAMD_ALIGNED(32) hash_key[] = {
0xef,
0x43,
0xae,
@@ -1350,13 +1350,13 @@ rspamd_message_parse(struct rspamd_task *task)
msg_info_task("loaded message; id: <%s>; queue-id: <%s>; size: %z; "
"checksum: <%*xs>",
MESSAGE_FIELD(task, message_id), task->queue_id, task->msg.len,
- (gint) sizeof(MESSAGE_FIELD(task, digest)), MESSAGE_FIELD(task, digest));
+ (int) sizeof(MESSAGE_FIELD(task, digest)), MESSAGE_FIELD(task, digest));
}
else {
msg_info_task("loaded message; id: <%s>; size: %z; "
"checksum: <%*xs>",
MESSAGE_FIELD(task, message_id), task->msg.len,
- (gint) sizeof(MESSAGE_FIELD(task, digest)), MESSAGE_FIELD(task, digest));
+ (int) sizeof(MESSAGE_FIELD(task, digest)), MESSAGE_FIELD(task, digest));
}
return TRUE;
@@ -1394,13 +1394,13 @@ rspamd_mime_text_part_position_compare_func(const void *v1, const void *v2)
void rspamd_message_process(struct rspamd_task *task)
{
- guint i;
+ unsigned int i;
struct rspamd_mime_text_part *p1, *p2;
- gdouble diff, *pdiff;
- guint tw, *ptw, dw;
+ double diff, *pdiff;
+ unsigned int tw, *ptw, dw;
struct rspamd_mime_part *part;
lua_State *L = NULL;
- gint magic_func_pos = -1, content_func_pos = -1, old_top = -1, funcs_top = -1;
+ int magic_func_pos = -1, content_func_pos = -1, old_top = -1, funcs_top = -1;
if (task->cfg) {
L = task->cfg->lua_state;
@@ -1441,7 +1441,7 @@ void rspamd_message_process(struct rspamd_task *task)
struct rspamd_task **ptask;
lua_pushcfunction(L, &rspamd_lua_traceback);
- gint err_idx = lua_gettop(L);
+ int err_idx = lua_gettop(L);
lua_pushvalue(L, magic_func_pos);
pmime = lua_newuserdata(L, sizeof(struct rspamd_mime_part *));
rspamd_lua_setclass(L, rspamd_mimepart_classname, -1);
@@ -1455,7 +1455,7 @@ void rspamd_message_process(struct rspamd_task *task)
}
else {
if (lua_istable(L, -1)) {
- const gchar *mb;
+ const char *mb;
/* First returned value */
part->detected_ext = rspamd_mempool_strdup(task->task_pool,
@@ -1513,7 +1513,7 @@ void rspamd_message_process(struct rspamd_task *task)
struct rspamd_task **ptask;
lua_pushcfunction(L, &rspamd_lua_traceback);
- gint err_idx = lua_gettop(L);
+ int err_idx = lua_gettop(L);
lua_pushvalue(L, content_func_pos);
pmime = lua_newuserdata(L, sizeof(struct rspamd_mime_part *));
rspamd_lua_setclass(L, rspamd_mimepart_classname, -1);
@@ -1572,8 +1572,8 @@ void rspamd_message_process(struct rspamd_task *task)
/* Calculate average words length and number of short words */
struct rspamd_mime_text_part *text_part;
- gdouble *var;
- guint total_words = 0;
+ double *var;
+ unsigned int total_words = 0;
PTR_ARRAY_FOREACH(MESSAGE_FIELD(task, text_parts), i, text_part)
{
@@ -1651,7 +1651,7 @@ void rspamd_message_process(struct rspamd_task *task)
dw = rspamd_words_levenshtein_distance(task,
p1->normalized_hashes,
p2->normalized_hashes);
- diff = dw / (gdouble) tw;
+ diff = dw / (double) tw;
msg_debug_task(
"different words: %d, total words: %d, "
@@ -1660,14 +1660,14 @@ void rspamd_message_process(struct rspamd_task *task)
diff);
pdiff = rspamd_mempool_alloc(task->task_pool,
- sizeof(gdouble));
+ sizeof(double));
*pdiff = diff;
rspamd_mempool_set_variable(task->task_pool,
"parts_distance",
pdiff,
NULL);
ptw = rspamd_mempool_alloc(task->task_pool,
- sizeof(gint));
+ sizeof(int));
*ptw = tw;
rspamd_mempool_set_variable(task->task_pool,
"total_words",
diff --git a/src/libmime/message.h b/src/libmime/message.h
index 12761bf91..cb695773e 100644
--- a/src/libmime/message.h
+++ b/src/libmime/message.h
@@ -75,15 +75,15 @@ enum rspamd_lua_specific_type {
};
struct rspamd_lua_specific_part {
- gint cbref;
+ int cbref;
enum rspamd_lua_specific_type type;
};
struct rspamd_mime_part {
struct rspamd_content_type *ct;
struct rspamd_content_type *detected_ct;
- gchar *detected_type;
- gchar *detected_ext;
+ char *detected_type;
+ char *detected_ext;
struct rspamd_content_disposition *cd;
rspamd_ftok_t raw_data;
rspamd_ftok_t parsed_data;
@@ -93,13 +93,13 @@ struct rspamd_mime_part {
struct rspamd_mime_headers_table *raw_headers;
GPtrArray *urls;
- gchar *raw_headers_str;
+ char *raw_headers_str;
gsize raw_headers_len;
enum rspamd_cte cte;
- guint flags;
+ unsigned int flags;
enum rspamd_mime_part_type part_type;
- guint part_number;
+ unsigned int part_number;
union {
struct rspamd_mime_multipart *mp;
@@ -109,7 +109,7 @@ struct rspamd_mime_part {
struct rspamd_lua_specific_part lua_specific;
} specific;
- guchar digest[rspamd_cryptobox_HASHBYTES];
+ unsigned char digest[rspamd_cryptobox_HASHBYTES];
};
#define RSPAMD_MIME_TEXT_PART_FLAG_UTF (1 << 0)
@@ -126,9 +126,9 @@ struct rspamd_mime_part {
struct rspamd_mime_text_part {
- const gchar *language;
+ const char *language;
GPtrArray *languages;
- const gchar *real_charset;
+ const char *real_charset;
/* Raw data in native encoding */
rspamd_ftok_t raw;
@@ -147,29 +147,29 @@ struct rspamd_mime_text_part {
GList *exceptions; /**< list of offsets of urls */
struct rspamd_mime_part *mime_part;
- guint flags;
- guint nlines;
- guint spaces;
- guint nwords;
- guint non_ascii_chars;
- guint ascii_chars;
- guint double_spaces;
- guint non_spaces;
- guint empty_lines;
- guint capital_letters;
- guint numeric_characters;
- guint unicode_scripts;
+ unsigned int flags;
+ unsigned int nlines;
+ unsigned int spaces;
+ unsigned int nwords;
+ unsigned int non_ascii_chars;
+ unsigned int ascii_chars;
+ unsigned int double_spaces;
+ unsigned int non_spaces;
+ unsigned int empty_lines;
+ unsigned int capital_letters;
+ unsigned int numeric_characters;
+ unsigned int unicode_scripts;
};
struct rspamd_message_raw_headers_content {
- const gchar *begin;
+ const char *begin;
gsize len;
- const gchar *body_start;
+ const char *body_start;
};
struct rspamd_message {
- const gchar *message_id;
- gchar *subject;
+ const char *message_id;
+ char *subject;
GPtrArray *parts; /**< list of parsed parts */
GPtrArray *text_parts; /**< list of text parts */
@@ -181,7 +181,7 @@ struct rspamd_message {
struct rspamd_task *task;
GPtrArray *rcpt_mime;
GPtrArray *from_mime;
- guchar digest[16];
+ unsigned char digest[16];
enum rspamd_newlines_type nlines_type; /**< type of newlines (detected on most of headers */
ref_entry_t ref;
};
@@ -208,14 +208,14 @@ void rspamd_message_process(struct rspamd_task *task);
* @param str
* @return
*/
-enum rspamd_cte rspamd_cte_from_string(const gchar *str);
+enum rspamd_cte rspamd_cte_from_string(const char *str);
/**
* Converts cte to string
* @param ct
* @return
*/
-const gchar *rspamd_cte_to_string(enum rspamd_cte ct);
+const char *rspamd_cte_to_string(enum rspamd_cte ct);
struct rspamd_message *rspamd_message_new(struct rspamd_task *task);
diff --git a/src/libmime/mime_encoding.c b/src/libmime/mime_encoding.c
index 90d81b125..8b4c45436 100644
--- a/src/libmime/mime_encoding.c
+++ b/src/libmime/mime_encoding.c
@@ -44,9 +44,9 @@
static rspamd_regexp_t *utf_compatible_re = NULL;
struct rspamd_charset_substitution {
- const gchar *input;
- const gchar *canon;
- gint flags;
+ const char *input;
+ const char *canon;
+ int flags;
};
#include "mime_encoding_list.h"
@@ -72,7 +72,7 @@ static const UChar iso_8859_16_map[] = {
0x0171, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0119, 0x021B, 0x00FF};
struct rspamd_charset_converter {
- gchar *canon_name;
+ char *canon_name;
union {
UConverter *conv;
const UChar *cnv_table;
@@ -115,7 +115,7 @@ rspamd_converter_to_uchars(struct rspamd_charset_converter *cnv,
}
else {
UChar *d = dest, *dend = dest + destCapacity;
- const guchar *p = src, *end = src + srcLength;
+ const unsigned char *p = src, *end = src + srcLength;
while (p < end && d < dend) {
if (*p <= 127) {
@@ -134,12 +134,12 @@ rspamd_converter_to_uchars(struct rspamd_charset_converter *cnv,
struct rspamd_charset_converter *
-rspamd_mime_get_converter_cached(const gchar *enc,
+rspamd_mime_get_converter_cached(const char *enc,
rspamd_mempool_t *pool,
gboolean is_canon,
UErrorCode *err)
{
- const gchar *canon_name;
+ const char *canon_name;
static rspamd_lru_hash_t *cache;
struct rspamd_charset_converter *conv;
@@ -208,7 +208,7 @@ rspamd_mime_get_converter_cached(const gchar *enc,
static void
rspamd_mime_encoding_substitute_init(void)
{
- guint i;
+ unsigned int i;
sub_hash = g_hash_table_new(rspamd_strcase_hash, rspamd_strcase_equal);
@@ -218,14 +218,14 @@ rspamd_mime_encoding_substitute_init(void)
}
static void
-rspamd_charset_normalize(gchar *in)
+rspamd_charset_normalize(char *in)
{
/*
* This is a simple routine to validate input charset
* we just check that charset starts with alphanumeric and ends
* with alphanumeric
*/
- gchar *begin, *end;
+ char *begin, *end;
gboolean changed = FALSE;
begin = in;
@@ -248,12 +248,12 @@ rspamd_charset_normalize(gchar *in)
}
}
-const gchar *
+const char *
rspamd_mime_detect_charset(const rspamd_ftok_t *in, rspamd_mempool_t *pool)
{
- gchar *ret = NULL, *h, *t;
+ char *ret = NULL, *h, *t;
struct rspamd_charset_substitution *s;
- const gchar *cset;
+ const char *cset;
rspamd_ftok_t utf8_tok;
UErrorCode uc_err = U_ZERO_ERROR;
@@ -321,12 +321,12 @@ rspamd_mime_detect_charset(const rspamd_ftok_t *in, rspamd_mempool_t *pool)
return cset;
}
-gchar *
+char *
rspamd_mime_text_to_utf8(rspamd_mempool_t *pool,
- gchar *input, gsize len, const gchar *in_enc,
+ char *input, gsize len, const char *in_enc,
gsize *olen, GError **err)
{
- gchar *d;
+ char *d;
int32_t r, clen, dlen;
UChar *tmp_buf;
@@ -403,10 +403,10 @@ static gboolean
rspamd_mime_text_part_utf8_convert(struct rspamd_task *task,
struct rspamd_mime_text_part *text_part,
GByteArray *input,
- const gchar *charset,
+ const char *charset,
GError **err)
{
- gchar *d;
+ char *d;
int32_t r, clen, dlen, uc_len;
UChar *tmp_buf;
UErrorCode uc_err = U_ZERO_ERROR;
@@ -482,7 +482,7 @@ gboolean
rspamd_mime_to_utf8_byte_array(GByteArray *in,
GByteArray *out,
rspamd_mempool_t *pool,
- const gchar *enc)
+ const char *enc)
{
int32_t r, clen, dlen;
UChar *tmp_buf;
@@ -511,7 +511,7 @@ rspamd_mime_to_utf8_byte_array(GByteArray *in,
RSPAMD_FTOK_FROM_STR(&charset_tok, enc);
- if (rspamd_mime_charset_utf_check(&charset_tok, (gchar *) in->data, in->len,
+ if (rspamd_mime_charset_utf_check(&charset_tok, (char *) in->data, in->len,
FALSE)) {
g_byte_array_set_size(out, in->len);
memcpy(out->data, in->data, out->len);
@@ -556,9 +556,9 @@ rspamd_mime_to_utf8_byte_array(GByteArray *in,
return TRUE;
}
-void rspamd_mime_charset_utf_enforce(gchar *in, gsize len)
+void rspamd_mime_charset_utf_enforce(char *in, gsize len)
{
- gchar *p, *end;
+ char *p, *end;
goffset err_offset;
UChar32 uc = 0;
@@ -594,12 +594,12 @@ void rspamd_mime_charset_utf_enforce(gchar *in, gsize len)
}
const char *
-rspamd_mime_charset_find_by_content(const gchar *in, gsize inlen,
+rspamd_mime_charset_find_by_content(const char *in, gsize inlen,
bool check_utf8)
{
int nconsumed;
bool is_reliable;
- const gchar *ced_name;
+ const char *ced_name;
if (check_utf8) {
if (rspamd_fast_utf8_validate(in, inlen) == 0) {
@@ -621,13 +621,13 @@ rspamd_mime_charset_find_by_content(const gchar *in, gsize inlen,
}
static const char *
-rspamd_mime_charset_find_by_content_maybe_split(const gchar *in, gsize inlen)
+rspamd_mime_charset_find_by_content_maybe_split(const char *in, gsize inlen)
{
if (inlen < RSPAMD_CHARSET_MAX_CONTENT * 3) {
return rspamd_mime_charset_find_by_content(in, inlen, false);
}
else {
- const gchar *c1, *c2, *c3;
+ const char *c1, *c2, *c3;
c1 = rspamd_mime_charset_find_by_content(in, RSPAMD_CHARSET_MAX_CONTENT, false);
c2 = rspamd_mime_charset_find_by_content(in + inlen / 2,
@@ -678,9 +678,9 @@ rspamd_mime_charset_find_by_content_maybe_split(const gchar *in, gsize inlen)
gboolean
rspamd_mime_charset_utf_check(rspamd_ftok_t *charset,
- gchar *in, gsize len, gboolean content_check)
+ char *in, gsize len, gboolean content_check)
{
- const gchar *real_charset;
+ const char *real_charset;
if (utf_compatible_re == NULL) {
utf_compatible_re = rspamd_regexp_new(
@@ -729,7 +729,7 @@ void rspamd_mime_text_part_maybe_convert(struct rspamd_task *task,
struct rspamd_mime_text_part *text_part)
{
GError *err = NULL;
- const gchar *charset = NULL;
+ const char *charset = NULL;
gboolean checked = FALSE, need_charset_heuristic = TRUE, valid_utf8 = FALSE;
GByteArray *part_content;
rspamd_ftok_t charset_tok;
diff --git a/src/libmime/mime_encoding.h b/src/libmime/mime_encoding.h
index 88e25efa6..f03ac36f4 100644
--- a/src/libmime/mime_encoding.h
+++ b/src/libmime/mime_encoding.h
@@ -36,8 +36,8 @@ struct rspamd_charset_converter;
* @param in
* @return
*/
-const gchar *rspamd_mime_detect_charset(const rspamd_ftok_t *in,
- rspamd_mempool_t *pool);
+const char *rspamd_mime_detect_charset(const rspamd_ftok_t *in,
+ rspamd_mempool_t *pool);
/**
* Convert text chunk to utf-8. Input encoding is substituted using
@@ -52,9 +52,9 @@ const gchar *rspamd_mime_detect_charset(const rspamd_ftok_t *in,
* @param err
* @return
*/
-gchar *rspamd_mime_text_to_utf8(rspamd_mempool_t *pool,
- gchar *input, gsize len, const gchar *in_enc,
- gsize *olen, GError **err);
+char *rspamd_mime_text_to_utf8(rspamd_mempool_t *pool,
+ char *input, gsize len, const char *in_enc,
+ gsize *olen, GError **err);
/**
* Converts data from `in` to `out`,
@@ -70,7 +70,7 @@ gchar *rspamd_mime_text_to_utf8(rspamd_mempool_t *pool,
gboolean rspamd_mime_to_utf8_byte_array(GByteArray *in,
GByteArray *out,
rspamd_mempool_t *pool,
- const gchar *enc);
+ const char *enc);
/**
* Maybe convert part to utf-8
@@ -89,7 +89,7 @@ void rspamd_mime_text_part_maybe_convert(struct rspamd_task *task,
* @return
*/
gboolean rspamd_mime_charset_utf_check(rspamd_ftok_t *charset,
- gchar *in, gsize len,
+ char *in, gsize len,
gboolean content_check);
/**
@@ -98,7 +98,7 @@ gboolean rspamd_mime_charset_utf_check(rspamd_ftok_t *charset,
* @param in
* @param len
*/
-void rspamd_mime_charset_utf_enforce(gchar *in, gsize len);
+void rspamd_mime_charset_utf_enforce(char *in, gsize len);
/**
* Gets cached converter
@@ -109,7 +109,7 @@ void rspamd_mime_charset_utf_enforce(gchar *in, gsize len);
* @return converter
*/
struct rspamd_charset_converter *rspamd_mime_get_converter_cached(
- const gchar *enc,
+ const char *enc,
rspamd_mempool_t *pool,
gboolean is_canon,
UErrorCode *err);
@@ -138,7 +138,7 @@ rspamd_converter_to_uchars(struct rspamd_charset_converter *cnv,
* @param inlen
* @return detected charset name or NULL
*/
-const char *rspamd_mime_charset_find_by_content(const gchar *in, gsize inlen,
+const char *rspamd_mime_charset_find_by_content(const char *in, gsize inlen,
bool check_utf8);
#ifdef __cplusplus
diff --git a/src/libmime/mime_expressions.c b/src/libmime/mime_expressions.c
index 9ff01c3b0..f77017ff2 100644
--- a/src/libmime/mime_expressions.c
+++ b/src/libmime/mime_expressions.c
@@ -88,10 +88,10 @@ static gboolean rspamd_has_symbol_expr(struct rspamd_task *task,
GArray *args,
void *unused);
-static rspamd_expression_atom_t *rspamd_mime_expr_parse(const gchar *line, gsize len,
+static rspamd_expression_atom_t *rspamd_mime_expr_parse(const char *line, gsize len,
rspamd_mempool_t *pool, gpointer ud, GError **err);
-static gdouble rspamd_mime_expr_process(void *ud, rspamd_expression_atom_t *atom);
-static gint rspamd_mime_expr_priority(rspamd_expression_atom_t *atom);
+static double rspamd_mime_expr_process(void *ud, rspamd_expression_atom_t *atom);
+static int rspamd_mime_expr_priority(rspamd_expression_atom_t *atom);
static void rspamd_mime_expr_destroy(rspamd_expression_atom_t *atom);
/**
@@ -99,11 +99,11 @@ static void rspamd_mime_expr_destroy(rspamd_expression_atom_t *atom);
*/
struct rspamd_regexp_atom {
enum rspamd_re_type type; /**< regexp type */
- gchar *regexp_text; /**< regexp text representation */
+ char *regexp_text; /**< regexp text representation */
rspamd_regexp_t *regexp; /**< regexp structure */
union {
- const gchar *header; /**< header name for header regexps */
- const gchar *selector; /**< selector name for lua selector regexp */
+ const char *header; /**< header name for header regexps */
+ const char *selector; /**< selector name for lua selector regexp */
} extra;
gboolean is_test; /**< true if this expression must be tested */
gboolean is_strong; /**< true if headers search must be case sensitive */
@@ -114,7 +114,7 @@ struct rspamd_regexp_atom {
* Rspamd expression function
*/
struct rspamd_function_atom {
- gchar *name; /**< name of function */
+ char *name; /**< name of function */
GArray *args; /**< its args */
};
@@ -126,12 +126,12 @@ enum rspamd_mime_atom_type {
};
struct rspamd_mime_atom {
- gchar *str;
+ char *str;
union {
struct rspamd_regexp_atom *re;
struct rspamd_function_atom *func;
- const gchar *lua_function;
- gint lua_cbref;
+ const char *lua_function;
+ int lua_cbref;
} d;
enum rspamd_mime_atom_type type;
};
@@ -141,7 +141,7 @@ struct rspamd_mime_atom {
* Sorted by name to use bsearch
*/
static struct _fl {
- const gchar *name;
+ const char *name;
rspamd_internal_func_t func;
void *user_data;
} rspamd_functions_list[] = {
@@ -180,7 +180,7 @@ static uint32_t functions_number = sizeof(rspamd_functions_list) /
static gboolean list_allocated = FALSE;
/* Bsearch routine */
-static gint
+static int
fl_cmp(const void *s1, const void *s2)
{
struct _fl *fl1 = (struct _fl *) s1;
@@ -196,7 +196,7 @@ rspamd_mime_expr_quark(void)
#define TYPE_CHECK(str, type, len) (sizeof(type) - 1 == (len) && rspamd_lc_cmp((str), (type), (len)) == 0)
static gboolean
-rspamd_parse_long_option(const gchar *start, gsize len,
+rspamd_parse_long_option(const char *start, gsize len,
struct rspamd_regexp_atom *a)
{
gboolean ret = FALSE;
@@ -277,11 +277,11 @@ rspamd_parse_long_option(const gchar *start, gsize len,
* Rspamd regexp utility functions
*/
static struct rspamd_regexp_atom *
-rspamd_mime_expr_parse_regexp_atom(rspamd_mempool_t *pool, const gchar *line,
+rspamd_mime_expr_parse_regexp_atom(rspamd_mempool_t *pool, const char *line,
struct rspamd_config *cfg)
{
- const gchar *begin, *end, *p, *src, *start, *brace;
- gchar *dbegin, *dend, *extra = NULL;
+ const char *begin, *end, *p, *src, *start, *brace;
+ char *dbegin, *dend, *extra = NULL;
struct rspamd_regexp_atom *result;
GError *err = NULL;
GString *re_flags;
@@ -531,11 +531,11 @@ rspamd_mime_expr_parse_regexp_atom(rspamd_mempool_t *pool, const gchar *line,
}
struct rspamd_function_atom *
-rspamd_mime_expr_parse_function_atom(rspamd_mempool_t *pool, const gchar *input)
+rspamd_mime_expr_parse_function_atom(rspamd_mempool_t *pool, const char *input)
{
- const gchar *obrace, *ebrace, *p, *c;
- gchar t, *databuf;
- guint len;
+ const char *obrace, *ebrace, *p, *c;
+ char t, *databuf;
+ unsigned int len;
struct rspamd_function_atom *res;
struct expression_argument arg;
GError *err = NULL;
@@ -645,17 +645,17 @@ rspamd_mime_expr_parse_function_atom(rspamd_mempool_t *pool, const gchar *input)
}
static rspamd_expression_atom_t *
-rspamd_mime_expr_parse(const gchar *line, gsize len,
+rspamd_mime_expr_parse(const char *line, gsize len,
rspamd_mempool_t *pool, gpointer ud, GError **err)
{
rspamd_expression_atom_t *a = NULL;
struct rspamd_mime_atom *mime_atom = NULL;
- const gchar *p, *end, *c = NULL;
+ const char *p, *end, *c = NULL;
struct rspamd_mime_expr_ud *real_ud = (struct rspamd_mime_expr_ud *) ud;
struct rspamd_config *cfg;
rspamd_regexp_t *own_re;
- gchar t;
- gint type = MIME_ATOM_REGEXP, obraces = 0, ebraces = 0;
+ char t;
+ int type = MIME_ATOM_REGEXP, obraces = 0, ebraces = 0;
enum {
in_header = 0,
got_slash,
@@ -786,8 +786,8 @@ rspamd_mime_expr_parse(const gchar *line, gsize len,
g_set_error(err, rspamd_mime_expr_quark(), 100, "cannot parse"
" mime atom '%s' when reading symbol '%c' at offset %d, "
"near %.*s",
- line, t, (gint) (p - line),
- (gint) MIN(end - p, 10), p);
+ line, t, (int) (p - line),
+ (int) MIN(end - p, 10), p);
return NULL;
case end_atom:
goto set;
@@ -817,7 +817,7 @@ set:
goto err;
}
else {
- gint lua_cbref = -1;
+ int lua_cbref = -1;
/* Check regexp condition */
if (real_ud->conf_obj != NULL) {
@@ -1011,11 +1011,11 @@ err:
return NULL;
}
-static gint
+static int
rspamd_mime_expr_process_regexp(struct rspamd_regexp_atom *re,
struct rspamd_task *task)
{
- gint ret;
+ int ret;
if (re == NULL) {
msg_info_task("invalid regexp passed");
@@ -1057,11 +1057,11 @@ rspamd_mime_expr_process_regexp(struct rspamd_regexp_atom *re,
}
-static gint
+static int
rspamd_mime_expr_priority(rspamd_expression_atom_t *atom)
{
struct rspamd_mime_atom *mime_atom = atom->data;
- gint ret = 0;
+ int ret = 0;
switch (mime_atom->type) {
case MIME_ATOM_INTERNAL_FUNCTION:
@@ -1137,13 +1137,13 @@ rspamd_mime_expr_process_function(struct rspamd_function_atom *func,
return selected->func(task, func->args, selected->user_data);
}
-static gdouble
+static double
rspamd_mime_expr_process(void *ud, rspamd_expression_atom_t *atom)
{
struct rspamd_task *task = (struct rspamd_task *) ud;
struct rspamd_mime_atom *mime_atom;
lua_State *L;
- gdouble ret = 0;
+ double ret = 0;
g_assert(task != NULL);
g_assert(atom != NULL);
@@ -1181,7 +1181,7 @@ rspamd_mime_expr_process(void *ud, rspamd_expression_atom_t *atom)
}
}
else if (mime_atom->type == MIME_ATOM_LOCAL_LUA_FUNCTION) {
- gint err_idx;
+ int err_idx;
L = task->cfg->lua_state;
lua_pushcfunction(L, &rspamd_lua_traceback);
@@ -1218,7 +1218,7 @@ rspamd_mime_expr_process(void *ud, rspamd_expression_atom_t *atom)
return ret;
}
-void register_expression_function(const gchar *name,
+void register_expression_function(const char *name,
rspamd_internal_func_t func,
void *user_data)
{
@@ -1276,9 +1276,9 @@ rspamd_header_exists(struct rspamd_task *task, GArray *args, void *unused)
}
rh = rspamd_message_get_header_array(task,
- (gchar *) arg->data, FALSE);
+ (char *) arg->data, FALSE);
- debug_task("try to get header %s: %d", (gchar *) arg->data,
+ debug_task("try to get header %s: %d", (char *) arg->data,
(rh != NULL));
if (rh) {
@@ -1298,9 +1298,9 @@ rspamd_header_exists(struct rspamd_task *task, GArray *args, void *unused)
gboolean
rspamd_parts_distance(struct rspamd_task *task, GArray *args, void *unused)
{
- gint threshold, threshold2 = -1;
+ int threshold, threshold2 = -1;
struct expression_argument *arg;
- gdouble *pdiff, diff;
+ double *pdiff, diff;
if (args == NULL || args->len == 0) {
debug_task("no threshold is specified, assume it 100");
@@ -1314,10 +1314,10 @@ rspamd_parts_distance(struct rspamd_task *task, GArray *args, void *unused)
return FALSE;
}
- threshold = strtoul((gchar *) arg->data, NULL, 10);
+ threshold = strtoul((char *) arg->data, NULL, 10);
if (errno != 0) {
msg_info_task("bad numeric value for threshold \"%s\", assume it 100",
- (gchar *) arg->data);
+ (char *) arg->data);
threshold = 100;
}
if (args->len >= 2) {
@@ -1328,10 +1328,10 @@ rspamd_parts_distance(struct rspamd_task *task, GArray *args, void *unused)
}
errno = 0;
- threshold2 = strtoul((gchar *) arg->data, NULL, 10);
+ threshold2 = strtoul((char *) arg->data, NULL, 10);
if (errno != 0) {
msg_info_task("bad numeric value for threshold \"%s\", ignore it",
- (gchar *) arg->data);
+ (char *) arg->data);
threshold2 = -1;
}
}
@@ -1366,13 +1366,13 @@ rspamd_parts_distance(struct rspamd_task *task, GArray *args, void *unused)
}
struct addr_list {
- const gchar *name;
- guint namelen;
- const gchar *addr;
- guint addrlen;
+ const char *name;
+ unsigned int namelen;
+ const char *addr;
+ unsigned int addrlen;
};
-static gint
+static int
addr_list_cmp_func(const void *a, const void *b)
{
const struct addr_list *addra = (struct addr_list *) a,
@@ -1396,7 +1396,7 @@ rspamd_recipients_distance(struct rspamd_task *task, GArray *args,
struct rspamd_email_address *cur;
double threshold;
struct addr_list *ar;
- gint num, i, hits = 0;
+ int num, i, hits = 0;
if (args == NULL) {
msg_warn_task("no parameters to function");
@@ -1410,11 +1410,11 @@ rspamd_recipients_distance(struct rspamd_task *task, GArray *args,
}
errno = 0;
- threshold = strtod((gchar *) arg->data, NULL);
+ threshold = strtod((char *) arg->data, NULL);
if (errno != 0) {
msg_warn_task("invalid numeric value '%s': %s",
- (gchar *) arg->data,
+ (char *) arg->data,
strerror(errno));
return FALSE;
}
@@ -1469,7 +1469,7 @@ rspamd_has_only_html_part(struct rspamd_task *task, GArray *args,
void *unused)
{
struct rspamd_mime_text_part *p;
- guint i, cnt_html = 0, cnt_txt = 0;
+ unsigned int i, cnt_html = 0, cnt_txt = 0;
PTR_ARRAY_FOREACH(MESSAGE_FIELD(task, text_parts), i, p)
{
@@ -1492,7 +1492,7 @@ is_recipient_list_sorted(GPtrArray *ar)
struct rspamd_email_address *addr;
gboolean res = TRUE;
rspamd_ftok_t cur, prev;
- gint i;
+ int i;
/* Do not check to short address lists */
if (ar == NULL || ar->len < MIN_RCPT_TO_COMPARE) {
@@ -1540,7 +1540,7 @@ rspamd_compare_transfer_encoding(struct rspamd_task *task,
void *unused)
{
struct expression_argument *arg;
- guint i;
+ unsigned int i;
struct rspamd_mime_part *part;
enum rspamd_cte cte;
@@ -1586,7 +1586,7 @@ rspamd_has_html_tag(struct rspamd_task *task, GArray *args, void *unused)
{
struct rspamd_mime_text_part *p;
struct expression_argument *arg;
- guint i;
+ unsigned int i;
gboolean res = FALSE;
if (args == NULL) {
@@ -1618,7 +1618,7 @@ gboolean
rspamd_has_fake_html(struct rspamd_task *task, GArray *args, void *unused)
{
struct rspamd_mime_text_part *p;
- guint i;
+ unsigned int i;
gboolean res = FALSE;
PTR_ARRAY_FOREACH(MESSAGE_FIELD(task, text_parts), i, p)
@@ -1656,10 +1656,10 @@ rspamd_raw_header_exists(struct rspamd_task *task, GArray *args, void *unused)
static gboolean
match_smtp_data(struct rspamd_task *task,
struct expression_argument *arg,
- const gchar *what, gsize len)
+ const char *what, gsize len)
{
rspamd_regexp_t *re;
- gint r = 0;
+ int r = 0;
if (arg->type == EXPRESSION_ARGUMENT_REGEXP) {
/* This is a regexp */
@@ -1690,8 +1690,8 @@ rspamd_check_smtp_data(struct rspamd_task *task, GArray *args, void *unused)
struct expression_argument *arg;
struct rspamd_email_address *addr = NULL;
GPtrArray *rcpts = NULL;
- const gchar *type, *str = NULL;
- guint i;
+ const char *type, *str = NULL;
+ unsigned int i;
if (args == NULL) {
msg_warn_task("no parameters to function");
@@ -1799,7 +1799,7 @@ rspamd_check_smtp_data(struct rspamd_task *task, GArray *args, void *unused)
}
static inline gboolean
-rspamd_check_ct_attr(const gchar *begin, gsize len,
+rspamd_check_ct_attr(const char *begin, gsize len,
struct expression_argument *arg_pattern)
{
rspamd_regexp_t *re;
@@ -1840,10 +1840,10 @@ rspamd_content_type_compare_param(struct rspamd_task *task,
struct expression_argument *arg, *arg1, *arg_pattern;
gboolean recursive = FALSE;
struct rspamd_mime_part *cur_part;
- guint i;
+ unsigned int i;
rspamd_ftok_t srch;
struct rspamd_content_type_param *found = NULL, *cur;
- const gchar *param_name;
+ const char *param_name;
if (args == NULL || args->len < 2) {
msg_warn_task("no parameters to function");
@@ -1923,10 +1923,10 @@ rspamd_content_type_has_param(struct rspamd_task *task,
struct expression_argument *arg, *arg1;
gboolean recursive = FALSE;
struct rspamd_mime_part *cur_part;
- guint i;
+ unsigned int i;
rspamd_ftok_t srch;
struct rspamd_content_type_param *found = NULL;
- const gchar *param_name;
+ const char *param_name;
if (args == NULL || args->len < 1) {
msg_warn_task("no parameters to function");
@@ -1999,8 +1999,8 @@ rspamd_content_type_check(struct rspamd_task *task,
rspamd_regexp_t *re;
struct expression_argument *arg1, *arg_pattern;
struct rspamd_content_type *ct;
- gint r = 0;
- guint i;
+ int r = 0;
+ unsigned int i;
gboolean recursive = FALSE;
struct rspamd_mime_part *cur_part;
@@ -2092,7 +2092,7 @@ compare_subtype(struct rspamd_task *task, struct rspamd_content_type *ct,
{
rspamd_regexp_t *re;
rspamd_ftok_t srch;
- gint r = 0;
+ int r = 0;
if (subtype == NULL || ct == NULL) {
msg_warn_task("invalid parameters passed");
@@ -2120,7 +2120,7 @@ compare_subtype(struct rspamd_task *task, struct rspamd_content_type *ct,
}
static gboolean
-compare_len(struct rspamd_mime_part *part, guint min, guint max)
+compare_len(struct rspamd_mime_part *part, unsigned int min, unsigned int max)
{
if (min == 0 && max == 0) {
return TRUE;
@@ -2141,15 +2141,15 @@ static gboolean
common_has_content_part(struct rspamd_task *task,
struct expression_argument *param_type,
struct expression_argument *param_subtype,
- gint min_len,
- gint max_len)
+ int min_len,
+ int max_len)
{
rspamd_regexp_t *re;
struct rspamd_mime_part *part;
struct rspamd_content_type *ct;
rspamd_ftok_t srch;
- gint r = 0;
- guint i;
+ int r = 0;
+ unsigned int i;
PTR_ARRAY_FOREACH(MESSAGE_FIELD(task, parts), i, part)
{
@@ -2224,7 +2224,7 @@ rspamd_has_content_part_len(struct rspamd_task *task,
void *unused)
{
struct expression_argument *param_type = NULL, *param_subtype = NULL;
- gint min = 0, max = 0;
+ int min = 0, max = 0;
struct expression_argument *arg;
if (args == NULL) {
@@ -2245,7 +2245,7 @@ rspamd_has_content_part_len(struct rspamd_task *task,
if (errno != 0) {
msg_warn_task("invalid numeric value '%s': %s",
- (gchar *) arg->data,
+ (char *) arg->data,
strerror(errno));
return FALSE;
}
@@ -2257,7 +2257,7 @@ rspamd_has_content_part_len(struct rspamd_task *task,
if (errno != 0) {
msg_warn_task("invalid numeric value '%s': %s",
- (gchar *) arg->data,
+ (char *) arg->data,
strerror(errno));
return FALSE;
}
@@ -2274,7 +2274,7 @@ rspamd_is_empty_body(struct rspamd_task *task,
void *unused)
{
struct rspamd_mime_part *part;
- guint i;
+ unsigned int i;
PTR_ARRAY_FOREACH(MESSAGE_FIELD(task, parts), i, part)
{
@@ -2320,7 +2320,7 @@ rspamd_has_flag_expr(struct rspamd_task *task,
{
gboolean found = FALSE, result = FALSE;
struct expression_argument *flag_arg;
- const gchar *flag_str;
+ const char *flag_str;
if (args == NULL) {
msg_warn_task("no parameters to function");
@@ -2334,7 +2334,7 @@ rspamd_has_flag_expr(struct rspamd_task *task,
return FALSE;
}
- flag_str = (const gchar *) flag_arg->data;
+ flag_str = (const char *) flag_arg->data;
TASK_GET_FLAG(flag_str, "pass_all", RSPAMD_TASK_FLAG_PASS_ALL);
TASK_GET_FLAG(flag_str, "no_log", RSPAMD_TASK_FLAG_NO_LOG);
@@ -2368,7 +2368,7 @@ rspamd_has_symbol_expr(struct rspamd_task *task,
void *unused)
{
struct expression_argument *sym_arg;
- const gchar *symbol_str;
+ const char *symbol_str;
if (args == NULL) {
msg_warn_task("no parameters to function");
@@ -2382,7 +2382,7 @@ rspamd_has_symbol_expr(struct rspamd_task *task,
return FALSE;
}
- symbol_str = (const gchar *) sym_arg->data;
+ symbol_str = (const char *) sym_arg->data;
if (rspamd_task_find_symbol_result(task, symbol_str, NULL)) {
return TRUE;
diff --git a/src/libmime/mime_expressions.h b/src/libmime/mime_expressions.h
index a2ea3fea4..106099803 100644
--- a/src/libmime/mime_expressions.h
+++ b/src/libmime/mime_expressions.h
@@ -47,7 +47,7 @@ typedef gboolean (*rspamd_internal_func_t)(struct rspamd_task *,
* @param name name of function
* @param func pointer to function
*/
-void register_expression_function(const gchar *name,
+void register_expression_function(const char *name,
rspamd_internal_func_t func,
void *user_data);
@@ -56,7 +56,7 @@ void register_expression_function(const gchar *name,
* @param limit new limit in bytes
* @return old limit value
*/
-guint rspamd_mime_expression_set_re_limit(guint limit);
+unsigned int rspamd_mime_expression_set_re_limit(unsigned int limit);
#ifdef __cplusplus
}
diff --git a/src/libmime/mime_headers.c b/src/libmime/mime_headers.c
index 2bdab38c2..e4bf4db06 100644
--- a/src/libmime/mime_headers.c
+++ b/src/libmime/mime_headers.c
@@ -24,7 +24,7 @@
#include "libutil/util.h"
#include <unicode/utf8.h>
-KHASH_INIT(rspamd_mime_headers_htb, gchar *,
+KHASH_INIT(rspamd_mime_headers_htb, char *,
struct rspamd_mime_header *, 1,
rspamd_strcase_hash, rspamd_strcase_equal);
@@ -38,9 +38,9 @@ rspamd_mime_header_check_special(struct rspamd_task *task,
struct rspamd_mime_header *rh)
{
uint64_t h;
- const gchar *p, *end;
- gchar *id;
- gint max_recipients = -1, len;
+ const char *p, *end;
+ char *id;
+ int max_recipients = -1, len;
if (task->cfg) {
max_recipients = task->cfg->max_recipients;
@@ -93,7 +93,7 @@ rspamd_mime_header_check_special(struct rspamd_task *task,
}
if (end > p) {
- gchar *d;
+ char *d;
if (*(end - 1) == '>') {
end--;
@@ -186,16 +186,16 @@ rspamd_mime_header_add(struct rspamd_task *task,
void rspamd_mime_headers_process(struct rspamd_task *task,
struct rspamd_mime_headers_table *target,
struct rspamd_mime_header **order_ptr,
- const gchar *in, gsize len,
+ const char *in, gsize len,
gboolean check_newlines)
{
struct rspamd_mime_header *nh = NULL;
- const gchar *p, *c, *end;
- gchar *tmp, *tp;
- gint state = 0, l, next_state = 100, err_state = 100, t_state;
+ const char *p, *c, *end;
+ char *tmp, *tp;
+ int state = 0, l, next_state = 100, err_state = 100, t_state;
gboolean valid_folding = FALSE, shift_by_one = FALSE;
- guint nlines_count[RSPAMD_TASK_NEWLINES_MAX];
- guint norder = 0;
+ unsigned int nlines_count[RSPAMD_TASK_NEWLINES_MAX];
+ unsigned int norder = 0;
p = in;
end = p + len;
@@ -485,12 +485,12 @@ void rspamd_mime_headers_process(struct rspamd_task *task,
LL_REVERSE(*order_ptr);
if (check_newlines) {
- guint max_cnt = 0;
- gint sel = 0;
+ unsigned int max_cnt = 0;
+ int sel = 0;
rspamd_cryptobox_hash_state_t hs;
- guchar hout[rspamd_cryptobox_HASHBYTES], *hexout;
+ unsigned char hout[rspamd_cryptobox_HASHBYTES], *hexout;
- for (gint i = RSPAMD_TASK_NEWLINES_CR; i < RSPAMD_TASK_NEWLINES_MAX; i++) {
+ for (int i = RSPAMD_TASK_NEWLINES_CR; i < RSPAMD_TASK_NEWLINES_MAX; i++) {
if (nlines_count[i] > max_cnt) {
max_cnt = nlines_count[i];
sel = i;
@@ -572,7 +572,7 @@ static void
rspamd_mime_header_sanity_check(GString *str)
{
gsize i;
- gchar t;
+ char t;
for (i = 0; i < str->len; i++) {
t = str->str[i];
@@ -588,20 +588,20 @@ rspamd_mime_header_sanity_check(GString *str)
}
}
-gchar *
-rspamd_mime_header_decode(rspamd_mempool_t *pool, const gchar *in,
+char *
+rspamd_mime_header_decode(rspamd_mempool_t *pool, const char *in,
gsize inlen, gboolean *invalid_utf)
{
GString *out;
- const guchar *c, *p, *end;
- const gchar *tok_start = NULL;
+ const unsigned char *c, *p, *end;
+ const char *tok_start = NULL;
gsize tok_len = 0, pos;
GByteArray *token = NULL, *decoded;
rspamd_ftok_t cur_charset = {0, NULL}, old_charset = {0, NULL};
- gint encoding;
+ int encoding;
gssize r;
- guint qmarks = 0;
- gchar *ret;
+ unsigned int qmarks = 0;
+ char *ret;
enum {
parse_normal = 0,
got_eqsign,
@@ -628,7 +628,7 @@ rspamd_mime_header_decode(rspamd_mempool_t *pool, const gchar *in,
state = got_eqsign;
}
else if (*p >= 128) {
- gint off = 0;
+ int off = 0;
UChar32 uc;
/* Unencoded character */
g_string_append_len(out, c, p - c);
@@ -815,17 +815,17 @@ rspamd_mime_header_decode(rspamd_mempool_t *pool, const gchar *in,
return ret;
}
-gchar *
-rspamd_mime_header_encode(const gchar *in, gsize len)
+char *
+rspamd_mime_header_encode(const char *in, gsize len)
{
- const gchar *p = in, *end = in + len;
- gchar *out, encode_buf[80 * sizeof(uint32_t)];
+ const char *p = in, *end = in + len;
+ char *out, encode_buf[80 * sizeof(uint32_t)];
GString *res;
gboolean need_encoding = FALSE;
/* Check if we need to encode */
while (p < end) {
- if ((((guchar) *p) & 0x80) != 0) {
+ if ((((unsigned char) *p) & 0x80) != 0) {
need_encoding = TRUE;
break;
}
@@ -839,17 +839,17 @@ rspamd_mime_header_encode(const gchar *in, gsize len)
else {
/* Need encode */
gsize ulen, pos;
- gint r;
- const gchar *prev;
+ int r;
+ const char *prev;
/* Choose step: =?UTF-8?Q?<qp>?= should be less than 76 chars */
- guint step = (76 - 12) / 3 + 1;
+ unsigned int step = (76 - 12) / 3 + 1;
ulen = g_utf8_strlen(in, len);
res = g_string_sized_new(len * 2 + 1);
pos = 0;
prev = in;
/* Adjust chunk size for unicode average length */
- step *= 1.0 * ulen / (gdouble) len;
+ step *= 1.0 * ulen / (double) len;
while (pos < ulen) {
p = g_utf8_offset_to_pointer(in, pos);
@@ -898,8 +898,8 @@ rspamd_mime_header_encode(const gchar *in, gsize len)
return out;
}
-gchar *
-rspamd_mime_message_id_generate(const gchar *fqdn)
+char *
+rspamd_mime_message_id_generate(const char *fqdn)
{
GString *out;
uint64_t rnd, clk;
@@ -909,8 +909,8 @@ rspamd_mime_message_id_generate(const gchar *fqdn)
clk = rspamd_get_calendar_ticks() * 1e6;
rspamd_printf_gstring(out, "%*bs.%*bs@%s",
- (gint) sizeof(uint64_t) - 3, (guchar *) &clk,
- (gint) sizeof(uint64_t), (gchar *) &rnd,
+ (int) sizeof(uint64_t) - 3, (unsigned char *) &clk,
+ (int) sizeof(uint64_t), (char *) &rnd,
fqdn);
return g_string_free(out, FALSE);
@@ -918,7 +918,7 @@ rspamd_mime_message_id_generate(const gchar *fqdn)
struct rspamd_mime_header *
rspamd_message_get_header_from_hash(struct rspamd_mime_headers_table *hdrs,
- const gchar *field,
+ const char *field,
gboolean need_modified)
{
if (hdrs == NULL) {
@@ -930,7 +930,7 @@ rspamd_message_get_header_from_hash(struct rspamd_mime_headers_table *hdrs,
struct rspamd_mime_header *hdr;
if (htb) {
- k = kh_get(rspamd_mime_headers_htb, htb, (gchar *) field);
+ k = kh_get(rspamd_mime_headers_htb, htb, (char *) field);
if (k == kh_end(htb)) {
return NULL;
@@ -958,7 +958,7 @@ rspamd_message_get_header_from_hash(struct rspamd_mime_headers_table *hdrs,
}
struct rspamd_mime_header *
-rspamd_message_get_header_array(struct rspamd_task *task, const gchar *field,
+rspamd_message_get_header_array(struct rspamd_task *task, const char *field,
gboolean need_modified)
{
return rspamd_message_get_header_from_hash(
@@ -978,7 +978,7 @@ gsize rspamd_mime_headers_count(struct rspamd_mime_headers_table *hdrs)
bool rspamd_mime_headers_foreach(const struct rspamd_mime_headers_table *hdrs,
rspamd_hdr_traverse_func_t func, void *ud)
{
- const gchar *name;
+ const char *name;
struct rspamd_mime_header *hdr;
kh_foreach(&hdrs->htb, name, hdr, {
@@ -1097,7 +1097,7 @@ gsize rspamd_message_header_unfold_inplace(char *hdr, gsize len)
void rspamd_message_set_modified_header(struct rspamd_task *task,
struct rspamd_mime_headers_table *hdrs,
- const gchar *hdr_name,
+ const char *hdr_name,
const ucl_object_t *obj,
struct rspamd_mime_header **order_ptr)
{
@@ -1107,7 +1107,7 @@ void rspamd_message_set_modified_header(struct rspamd_task *task,
int i;
if (htb) {
- k = kh_get(rspamd_mime_headers_htb, htb, (gchar *) hdr_name);
+ k = kh_get(rspamd_mime_headers_htb, htb, (char *) hdr_name);
if (k == kh_end(htb)) {
hdr_elt = rspamd_mempool_alloc0(task->task_pool, sizeof(*hdr_elt));
@@ -1353,7 +1353,7 @@ void rspamd_message_set_modified_header(struct rspamd_task *task,
}
}
-gsize rspamd_strip_smtp_comments_inplace(gchar *input, gsize len)
+gsize rspamd_strip_smtp_comments_inplace(char *input, gsize len)
{
enum parser_state {
parse_normal,
@@ -1363,8 +1363,8 @@ gsize rspamd_strip_smtp_comments_inplace(gchar *input, gsize len)
parse_quoted_ignore,
} state = parse_normal,
next_state = parse_normal;
- gchar *d = input, *end = input + len, *start = input;
- gchar t;
+ char *d = input, *end = input + len, *start = input;
+ char t;
int obraces = 0, ebraces = 0;
while (input < end) {
diff --git a/src/libmime/mime_headers.h b/src/libmime/mime_headers.h
index 60015a20e..9f89daece 100644
--- a/src/libmime/mime_headers.h
+++ b/src/libmime/mime_headers.h
@@ -56,15 +56,15 @@ enum rspamd_mime_header_flags {
};
struct rspamd_mime_header {
- const gchar *raw_value; /* As it is in the message (unfolded and unparsed) */
+ const char *raw_value; /* As it is in the message (unfolded and unparsed) */
gsize raw_len;
- guint order;
+ unsigned int order;
int flags; /* see enum rspamd_mime_header_flags */
/* These are zero terminated (historically) */
- gchar *name; /* Also used for key */
- gchar *value;
- gchar *separator;
- gchar *decoded;
+ char *name; /* Also used for key */
+ char *value;
+ char *separator;
+ char *decoded;
struct rspamd_mime_header *modified_chain; /* Headers modified during transform */
struct rspamd_mime_header *prev, *next; /* Headers with the same name */
struct rspamd_mime_header *ord_next; /* Overall order of headers, slist */
@@ -83,7 +83,7 @@ struct rspamd_mime_headers_table;
void rspamd_mime_headers_process(struct rspamd_task *task,
struct rspamd_mime_headers_table *target,
struct rspamd_mime_header **order_ptr,
- const gchar *in, gsize len,
+ const char *in, gsize len,
gboolean check_newlines);
/**
@@ -93,8 +93,8 @@ void rspamd_mime_headers_process(struct rspamd_task *task,
* @param inlen
* @return
*/
-gchar *rspamd_mime_header_decode(rspamd_mempool_t *pool, const gchar *in,
- gsize inlen, gboolean *invalid_utf);
+char *rspamd_mime_header_decode(rspamd_mempool_t *pool, const char *in,
+ gsize inlen, gboolean *invalid_utf);
/**
* Encode mime header if needed
@@ -102,14 +102,14 @@ gchar *rspamd_mime_header_decode(rspamd_mempool_t *pool, const gchar *in,
* @param len
* @return newly allocated encoded header
*/
-gchar *rspamd_mime_header_encode(const gchar *in, gsize len);
+char *rspamd_mime_header_encode(const char *in, gsize len);
/**
* Generate new unique message id
* @param fqdn
* @return
*/
-gchar *rspamd_mime_message_id_generate(const gchar *fqdn);
+char *rspamd_mime_message_id_generate(const char *fqdn);
/**
* Get an array of header's values with specified header's name using raw headers
@@ -119,7 +119,7 @@ gchar *rspamd_mime_message_id_generate(const gchar *fqdn);
*/
struct rspamd_mime_header *
rspamd_message_get_header_array(struct rspamd_task *task,
- const gchar *field,
+ const char *field,
gboolean need_modified);
/**
@@ -130,7 +130,7 @@ rspamd_message_get_header_array(struct rspamd_task *task,
*/
struct rspamd_mime_header *
rspamd_message_get_header_from_hash(struct rspamd_mime_headers_table *hdrs,
- const gchar *field,
+ const char *field,
gboolean need_modified);
/**
@@ -142,7 +142,7 @@ rspamd_message_get_header_from_hash(struct rspamd_mime_headers_table *hdrs,
*/
void rspamd_message_set_modified_header(struct rspamd_task *task,
struct rspamd_mime_headers_table *hdrs,
- const gchar *hdr_name,
+ const char *hdr_name,
const ucl_object_t *obj,
struct rspamd_mime_header **order_ptr);
@@ -167,7 +167,7 @@ struct rspamd_mime_headers_table *rspamd_message_headers_new(void);
*/
gsize rspamd_mime_headers_count(struct rspamd_mime_headers_table *hdrs);
-typedef bool(rspamd_hdr_traverse_func_t)(const gchar *, const struct rspamd_mime_header *, void *);
+typedef bool(rspamd_hdr_traverse_func_t)(const char *, const struct rspamd_mime_header *, void *);
/**
* Traverse all headers in a table
* @param func
@@ -183,7 +183,7 @@ bool rspamd_mime_headers_foreach(const struct rspamd_mime_headers_table *,
* @param len length of the input
* @return new length of the input
*/
-gsize rspamd_strip_smtp_comments_inplace(gchar *input, gsize len);
+gsize rspamd_strip_smtp_comments_inplace(char *input, gsize len);
/**
* Unfold header in place
diff --git a/src/libmime/mime_parser.c b/src/libmime/mime_parser.c
index 64a8a2242..e753f6377 100644
--- a/src/libmime/mime_parser.c
+++ b/src/libmime/mime_parser.c
@@ -29,14 +29,14 @@
struct rspamd_mime_parser_lib_ctx {
struct rspamd_multipattern *mp_boundary;
- guchar hkey[rspamd_cryptobox_SIPKEYBYTES]; /* Key for hashing */
- guint key_usages;
+ unsigned char hkey[rspamd_cryptobox_SIPKEYBYTES]; /* Key for hashing */
+ unsigned int key_usages;
};
struct rspamd_mime_parser_lib_ctx *lib_ctx = NULL;
-static const guint max_nested = 64;
-static const guint max_key_usages = 10000;
+static const unsigned int max_nested = 64;
+static const unsigned int max_key_usages = 10000;
#define msg_debug_mime(...) rspamd_conditional_debug_fast(NULL, task->from_addr, \
rspamd_mime_log_id, "mime", task->task_pool->tag.uid, \
@@ -53,17 +53,17 @@ struct rspamd_mime_boundary {
goffset start;
uint64_t hash;
uint64_t closed_hash;
- gint flags;
+ int flags;
};
struct rspamd_mime_parser_ctx {
GPtrArray *stack; /* Stack of parts */
GArray *boundaries; /* Boundaries found in the whole message */
- const gchar *start;
- const gchar *pos;
- const gchar *end;
+ const char *start;
+ const char *pos;
+ const char *end;
struct rspamd_task *task;
- guint nesting;
+ unsigned int nesting;
};
static enum rspamd_mime_parse_error
@@ -87,7 +87,7 @@ static enum rspamd_mime_parse_error
rspamd_mime_process_multipart_node(struct rspamd_task *task,
struct rspamd_mime_parser_ctx *st,
struct rspamd_mime_part *multipart,
- const gchar *start, const gchar *end,
+ const char *start, const char *end,
gboolean is_finished,
GError **err);
@@ -99,10 +99,10 @@ rspamd_mime_parser_quark(void)
return g_quark_from_static_string("mime-parser");
}
-const gchar *
+const char *
rspamd_cte_to_string(enum rspamd_cte ct)
{
- const gchar *ret = "unknown";
+ const char *ret = "unknown";
switch (ct) {
case RSPAMD_CTE_7BIT:
@@ -128,7 +128,7 @@ rspamd_cte_to_string(enum rspamd_cte ct)
}
enum rspamd_cte
-rspamd_cte_from_string(const gchar *str)
+rspamd_cte_from_string(const char *str)
{
enum rspamd_cte ret = RSPAMD_CTE_UNKNOWN;
@@ -178,7 +178,7 @@ rspamd_mime_parser_init_lib(void)
}
static enum rspamd_cte
-rspamd_mime_parse_cte(const gchar *in, gsize len)
+rspamd_mime_parse_cte(const char *in, gsize len)
{
uint64_t h;
enum rspamd_cte ret = RSPAMD_CTE_UNKNOWN;
@@ -216,15 +216,15 @@ static enum rspamd_cte
rspamd_mime_part_get_cte_heuristic(struct rspamd_task *task,
struct rspamd_mime_part *part)
{
- const guint check_len = 128;
- guint real_len, nspaces = 0, neqsign = 0, n8bit = 0, nqpencoded = 0,
- padeqsign = 0, nupper = 0, nlower = 0;
+ const unsigned int check_len = 128;
+ unsigned int real_len, nspaces = 0, neqsign = 0, n8bit = 0, nqpencoded = 0,
+ padeqsign = 0, nupper = 0, nlower = 0;
gboolean b64_chars = TRUE;
- const guchar *p, *end;
+ const unsigned char *p, *end;
enum rspamd_cte ret = RSPAMD_CTE_UNKNOWN;
real_len = MIN(check_len, part->raw_data.len);
- p = (const guchar *) part->raw_data.begin;
+ p = (const unsigned char *) part->raw_data.begin;
end = p + part->raw_data.len;
while (p < end && g_ascii_isspace(*p)) {
@@ -232,7 +232,7 @@ rspamd_mime_part_get_cte_heuristic(struct rspamd_task *task,
}
if (end - p > sizeof("begin-base64 ")) {
- const guchar *uue_start;
+ const unsigned char *uue_start;
if (memcmp(p, "begin ", sizeof("begin ") - 1) == 0) {
uue_start = p + sizeof("begin ") - 1;
@@ -342,7 +342,7 @@ rspamd_mime_part_get_cte_heuristic(struct rspamd_task *task,
}
else {
- if (((end - (const guchar *) part->raw_data.begin) + padeqsign) % 4 == 0) {
+ if (((end - (const unsigned char *) part->raw_data.begin) + padeqsign) % 4 == 0) {
if (padeqsign == 0) {
/*
* It can be either base64 or plain text, hard to say
@@ -421,7 +421,7 @@ rspamd_mime_part_get_cte(struct rspamd_task *task,
DL_FOREACH(hdr, cur)
{
gsize hlen;
- gchar lc_buf[128];
+ char lc_buf[128];
hlen = rspamd_snprintf(lc_buf, sizeof(lc_buf), "%s", cur->value);
rspamd_str_lc(lc_buf, hlen);
@@ -571,7 +571,7 @@ rspamd_mime_part_get_cd(struct rspamd_task *task, struct rspamd_mime_part *part)
void rspamd_mime_parser_calc_digest(struct rspamd_mime_part *part)
{
/* Blake2b applied to string 'rspamd' */
- static const guchar hash_key[] = {
+ static const unsigned char hash_key[] = {
0xef,
0x43,
0xae,
@@ -815,8 +815,8 @@ rspamd_mime_parse_normal_part(struct rspamd_task *task,
* Since ASN.1 structures are freed, we need to copy
* the content
*/
- gchar *cpy = rspamd_mempool_alloc(task->task_pool,
- p7_signed_content->d.data->length);
+ char *cpy = rspamd_mempool_alloc(task->task_pool,
+ p7_signed_content->d.data->length);
memcpy(cpy, p7_signed_content->d.data->data,
p7_signed_content->d.data->length);
ret = rspamd_mime_process_multipart_node(task,
@@ -849,7 +849,7 @@ struct rspamd_mime_multipart_cbdata {
struct rspamd_task *task;
struct rspamd_mime_part *multipart;
struct rspamd_mime_parser_ctx *st;
- const gchar *part_start;
+ const char *part_start;
rspamd_ftok_t *cur_boundary;
uint64_t bhash;
GError **err;
@@ -859,7 +859,7 @@ static enum rspamd_mime_parse_error
rspamd_mime_process_multipart_node(struct rspamd_task *task,
struct rspamd_mime_parser_ctx *st,
struct rspamd_mime_part *multipart,
- const gchar *start, const gchar *end,
+ const char *start, const char *end,
gboolean is_finished,
GError **err)
{
@@ -871,7 +871,7 @@ rspamd_mime_process_multipart_node(struct rspamd_task *task,
enum rspamd_mime_parse_error ret = RSPAMD_MIME_PARSE_FATAL;
- str.str = (gchar *) start;
+ str.str = (char *) start;
str.len = end - start;
if (*start == '\n' || *start == '\r') {
@@ -885,7 +885,7 @@ rspamd_mime_process_multipart_node(struct rspamd_task *task,
if (!is_finished) {
/* Ignore garbage */
- const gchar *p = start;
+ const char *p = start;
gboolean seen_something = FALSE;
while (p < end) {
@@ -1009,7 +1009,7 @@ rspamd_mime_parse_multipart_cb(struct rspamd_task *task,
struct rspamd_mime_multipart_cbdata *cb,
struct rspamd_mime_boundary *b)
{
- const gchar *pos = st->start + b->boundary;
+ const char *pos = st->start + b->boundary;
enum rspamd_mime_parse_error ret;
task = cb->task;
@@ -1053,7 +1053,7 @@ rspamd_multipart_boundaries_filter(struct rspamd_task *task,
{
struct rspamd_mime_boundary *cur;
goffset last_offset;
- guint i, sel = 0;
+ unsigned int i, sel = 0;
enum rspamd_mime_parse_error ret;
last_offset = (multipart->raw_data.begin - st->start) +
@@ -1183,7 +1183,7 @@ rspamd_mime_parse_multipart_part(struct rspamd_task *task,
if (part->ct->boundary.len > 0) {
/* We know our boundary */
cbdata.cur_boundary = &part->ct->boundary;
- rspamd_cryptobox_siphash((guchar *) &cbdata.bhash,
+ rspamd_cryptobox_siphash((unsigned char *) &cbdata.bhash,
cbdata.cur_boundary->begin, cbdata.cur_boundary->len,
lib_ctx->hkey);
msg_debug_mime("hash: %T -> %L", cbdata.cur_boundary, cbdata.bhash);
@@ -1203,16 +1203,16 @@ rspamd_mime_parse_multipart_part(struct rspamd_task *task,
}
/* Process boundary like structures in a message */
-static gint
+static int
rspamd_mime_preprocess_cb(struct rspamd_multipattern *mp,
- guint strnum,
- gint match_start,
- gint match_pos,
- const gchar *text,
+ unsigned int strnum,
+ int match_start,
+ int match_pos,
+ const char *text,
gsize len,
void *context)
{
- const gchar *end = text + len, *p = text + match_pos, *bend;
+ const char *end = text + len, *p = text + match_pos, *bend;
gsize blen;
gboolean closing = FALSE;
struct rspamd_mime_boundary b;
@@ -1281,7 +1281,7 @@ rspamd_mime_preprocess_cb(struct rspamd_multipattern *mp,
b.start = bend - st->start;
/* Small optimisation as boundaries are usually short strings */
- gchar *lc_copy, lc_copy_buf[128];
+ char *lc_copy, lc_copy_buf[128];
if (blen + 2 < sizeof(lc_copy_buf)) {
lc_copy = lc_copy_buf;
@@ -1299,18 +1299,18 @@ rspamd_mime_preprocess_cb(struct rspamd_multipattern *mp,
rspamd_str_lc(lc_copy, blen);
}
- rspamd_cryptobox_siphash((guchar *) &b.hash, lc_copy, blen,
+ rspamd_cryptobox_siphash((unsigned char *) &b.hash, lc_copy, blen,
lib_ctx->hkey);
msg_debug_mime("normal hash: %*s -> %L, %d boffset, %d data offset",
- (gint) blen, lc_copy, b.hash, (int) b.boundary, (int) b.start);
+ (int) blen, lc_copy, b.hash, (int) b.boundary, (int) b.start);
if (closing) {
b.flags = RSPAMD_MIME_BOUNDARY_FLAG_CLOSED;
- rspamd_cryptobox_siphash((guchar *) &b.closed_hash, lc_copy,
+ rspamd_cryptobox_siphash((unsigned char *) &b.closed_hash, lc_copy,
blen + 2,
lib_ctx->hkey);
msg_debug_mime("closing hash: %*s -> %L, %d boffset, %d data offset",
- (gint) blen + 2, lc_copy,
+ (int) blen + 2, lc_copy,
b.closed_hash,
(int) b.boundary, (int) b.start);
}
@@ -1335,7 +1335,7 @@ rspamd_mime_parser_headers_heuristic(GString *input, goffset *body_start)
{
const gsize default_max_len = 76;
gsize max_len = MIN(input->len, default_max_len);
- const gchar *p, *end;
+ const char *p, *end;
enum {
st_before_colon = 0,
st_colon,
@@ -1434,11 +1434,11 @@ rspamd_mime_parse_message(struct rspamd_task *task,
{
struct rspamd_content_type *ct, *sel = NULL;
struct rspamd_mime_header *hdr = NULL, *cur;
- const gchar *pbegin, *p;
+ const char *pbegin, *p;
gsize plen, len;
struct rspamd_mime_part *npart;
goffset hdr_pos, body_pos;
- guint i;
+ unsigned int i;
enum rspamd_mime_parse_error ret = RSPAMD_MIME_PARSE_OK;
GString str;
struct rspamd_mime_parser_ctx *nst = st;
@@ -1458,7 +1458,7 @@ rspamd_mime_parse_message(struct rspamd_task *task,
p = task->msg.begin;
len = task->msg.len;
- str.str = (gchar *) p;
+ str.str = (char *) p;
str.len = len;
hdr_pos = rspamd_string_find_eoh(&str, &body_pos);
@@ -1545,7 +1545,7 @@ rspamd_mime_parse_message(struct rspamd_task *task,
nst->nesting = st->nesting;
st->nesting++;
- str.str = (gchar *) part->parsed_data.begin;
+ str.str = (char *) part->parsed_data.begin;
str.len = part->parsed_data.len;
hdr_pos = rspamd_string_find_eoh(&str, &body_pos);
@@ -1660,7 +1660,7 @@ rspamd_mime_parse_message(struct rspamd_task *task,
*end_boundary = NULL;
goffset cur_offset = nst->pos - nst->start,
end_offset = st->end - st->start;
- guint sel_idx = 0;
+ unsigned int sel_idx = 0;
for (;;) {
start_boundary = NULL;
@@ -1679,7 +1679,7 @@ rspamd_mime_parse_message(struct rspamd_task *task,
}
if (start_boundary) {
- const gchar *start, *end;
+ const char *start, *end;
if (nst->boundaries->len > sel_idx + 1) {
end_boundary = &g_array_index(nst->boundaries,
diff --git a/src/libmime/received.cxx b/src/libmime/received.cxx
index dc16d9b09..ab0a65a69 100644
--- a/src/libmime/received.cxx
+++ b/src/libmime/received.cxx
@@ -50,7 +50,7 @@ struct received_part {
};
static inline auto
-received_part_set_or_append(const gchar *begin,
+received_part_set_or_append(const char *begin,
gsize len,
mime_string &dest) -> void
{
@@ -427,7 +427,7 @@ received_process_rdns(rspamd_mempool_t *pool,
RSPAMD_INET_ADDRESS_PARSE_RECEIVED);
if (addr) {
- const gchar *addr_str;
+ const char *addr_str;
if (rspamd_inet_address_get_port(addr) != 0) {
addr_str = rspamd_inet_address_to_string_pretty(addr);
diff --git a/src/libmime/scan_result.c b/src/libmime/scan_result.c
index 5c89b6560..b9660071b 100644
--- a/src/libmime/scan_result.c
+++ b/src/libmime/scan_result.c
@@ -73,7 +73,7 @@ rspamd_metric_actions_foreach_cb(int i, struct rspamd_action *act, void *cbd)
struct rspamd_scan_result *
rspamd_create_metric_result(struct rspamd_task *task,
- const gchar *name, gint lua_sym_cbref)
+ const char *name, int lua_sym_cbref)
{
struct rspamd_scan_result *metric_res;
@@ -127,10 +127,10 @@ rspamd_pr_sort(const struct rspamd_passthrough_result *pra,
bool rspamd_add_passthrough_result(struct rspamd_task *task,
struct rspamd_action *action,
- guint priority,
+ unsigned int priority,
double target_score,
- const gchar *message,
- const gchar *module,
+ const char *message,
+ const char *module,
uint flags,
struct rspamd_scan_result *scan_result)
{
@@ -194,12 +194,12 @@ bool rspamd_add_passthrough_result(struct rspamd_task *task,
return true;
}
-static inline gdouble
+static inline double
rspamd_check_group_score(struct rspamd_task *task,
- const gchar *symbol,
+ const char *symbol,
struct rspamd_symbols_group *gr,
- gdouble *group_score,
- gdouble w)
+ double *group_score,
+ double w)
{
if (gr != NULL && group_score && gr->max_score > 0.0 && w > 0.0) {
if (*group_score >= gr->max_score && w > 0) {
@@ -223,23 +223,23 @@ rspamd_check_group_score(struct rspamd_task *task,
static struct rspamd_symbol_result *
insert_metric_result(struct rspamd_task *task,
- const gchar *symbol,
+ const char *symbol,
double weight,
- const gchar *opt,
+ const char *opt,
struct rspamd_scan_result *metric_res,
enum rspamd_symbol_insert_flags flags,
bool *new_sym)
{
struct rspamd_symbol_result *symbol_result = NULL;
- gdouble final_score, *gr_score = NULL, next_gf = 1.0, diff;
+ double final_score, *gr_score = NULL, next_gf = 1.0, diff;
struct rspamd_symbol *sdef;
struct rspamd_symbols_group *gr = NULL;
const ucl_object_t *mobj, *sobj;
- gint max_shots = G_MAXINT, ret;
- guint i;
+ int max_shots = G_MAXINT, ret;
+ unsigned int i;
khiter_t k;
gboolean single = !!(flags & RSPAMD_SYMBOL_INSERT_SINGLE);
- gchar *sym_cpy;
+ char *sym_cpy;
if (!isfinite(weight)) {
msg_warn_task("detected %s score for symbol %s, replace it with zero",
@@ -290,7 +290,7 @@ insert_metric_result(struct rspamd_task *task,
}
if (task->settings) {
- gdouble corr;
+ double corr;
mobj = ucl_object_lookup(task->settings, "scores");
if (!mobj) {
@@ -383,7 +383,7 @@ insert_metric_result(struct rspamd_task *task,
if (sdef) {
PTR_ARRAY_FOREACH(sdef->groups, i, gr)
{
- gdouble cur_diff;
+ double cur_diff;
k = kh_get(rspamd_symbols_group_hash,
metric_res->sym_groups, gr);
@@ -467,7 +467,7 @@ insert_metric_result(struct rspamd_task *task,
/* Check group limits */
PTR_ARRAY_FOREACH(sdef->groups, i, gr)
{
- gdouble cur_score;
+ double cur_score;
k = kh_get(rspamd_symbols_group_hash, metric_res->sym_groups, gr);
g_assert(k != kh_end(metric_res->sym_groups));
@@ -535,9 +535,9 @@ insert_metric_result(struct rspamd_task *task,
struct rspamd_symbol_result *
rspamd_task_insert_result_full(struct rspamd_task *task,
- const gchar *symbol,
+ const char *symbol,
double weight,
- const gchar *opt,
+ const char *opt,
enum rspamd_symbol_insert_flags flags,
struct rspamd_scan_result *result)
{
@@ -638,13 +638,13 @@ rspamd_task_insert_result_full(struct rspamd_task *task,
return ret;
}
-static gchar *
+static char *
rspamd_task_option_safe_copy(struct rspamd_task *task,
- const gchar *val,
+ const char *val,
gsize vlen,
gsize *outlen)
{
- const gchar *p, *end;
+ const char *p, *end;
p = val;
end = val + vlen;
@@ -653,7 +653,7 @@ rspamd_task_option_safe_copy(struct rspamd_task *task,
while (p < end) {
if (*p & 0x80) {
UChar32 uc;
- gint off = 0;
+ int off = 0;
U8_NEXT(p, off, end - p, uc);
@@ -683,7 +683,7 @@ rspamd_task_option_safe_copy(struct rspamd_task *task,
}
}
- gchar *dest, *d;
+ char *dest, *d;
dest = rspamd_mempool_alloc(task->task_pool, vlen + 1);
d = dest;
@@ -692,7 +692,7 @@ rspamd_task_option_safe_copy(struct rspamd_task *task,
while (p < end) {
if (*p & 0x80) {
UChar32 uc;
- gint off = 0;
+ int off = 0;
U8_NEXT(p, off, end - p, uc);
@@ -737,15 +737,15 @@ rspamd_task_option_safe_copy(struct rspamd_task *task,
gboolean
rspamd_task_add_result_option(struct rspamd_task *task,
struct rspamd_symbol_result *s,
- const gchar *val,
+ const char *val,
gsize vlen)
{
struct rspamd_symbol_option *opt, srch;
gboolean ret = FALSE;
- gchar *opt_cpy = NULL;
+ char *opt_cpy = NULL;
gsize cpy_len;
khiter_t k;
- gint r;
+ int r;
struct rspamd_symbol_result *cur;
if (s && val) {
@@ -779,14 +779,14 @@ rspamd_task_add_result_option(struct rspamd_task *task,
if (!(cur->sym && (cur->sym->flags & RSPAMD_SYMBOL_FLAG_ONEPARAM))) {
- srch.option = (gchar *) val;
+ srch.option = (char *) val;
srch.optlen = vlen;
k = kh_get(rspamd_options_hash, cur->options, &srch);
if (k == kh_end(cur->options)) {
opt_cpy = rspamd_task_option_safe_copy(task, val, vlen, &cpy_len);
if (cpy_len != vlen) {
- srch.option = (gchar *) opt_cpy;
+ srch.option = (char *) opt_cpy;
srch.optlen = cpy_len;
k = kh_get(rspamd_options_hash, cur->options, &srch);
}
@@ -1013,7 +1013,7 @@ rspamd_task_find_symbol_result(struct rspamd_task *task, const char *sym,
struct rspamd_symbol_result *rspamd_task_remove_symbol_result(
struct rspamd_task *task,
- const gchar *symbol,
+ const char *symbol,
struct rspamd_scan_result *result)
{
struct rspamd_symbol_result *res = NULL;
@@ -1036,12 +1036,12 @@ struct rspamd_symbol_result *rspamd_task_remove_symbol_result(
/* Also check the group limit */
if (result->sym_groups && res->sym) {
struct rspamd_symbol_group *gr;
- gint i;
+ int i;
khiter_t k_groups;
PTR_ARRAY_FOREACH(res->sym->groups, i, gr)
{
- gdouble *gr_score;
+ double *gr_score;
k_groups = kh_get(rspamd_symbols_group_hash,
result->sym_groups, gr);
@@ -1070,7 +1070,7 @@ void rspamd_task_symbol_result_foreach(struct rspamd_task *task,
struct rspamd_scan_result *result, GHFunc func,
gpointer ud)
{
- const gchar *kk;
+ const char *kk;
struct rspamd_symbol_result *res;
if (result == NULL) {
@@ -1087,7 +1087,7 @@ void rspamd_task_symbol_result_foreach(struct rspamd_task *task,
struct rspamd_scan_result *
rspamd_find_metric_result(struct rspamd_task *task,
- const gchar *name)
+ const char *name)
{
struct rspamd_scan_result *res;
diff --git a/src/libmime/scan_result.h b/src/libmime/scan_result.h
index 46c2de8fa..d4572e1d8 100644
--- a/src/libmime/scan_result.h
+++ b/src/libmime/scan_result.h
@@ -35,7 +35,7 @@ struct rspamd_settings;
struct rspamd_classifier_config;
struct rspamd_symbol_option {
- gchar *option;
+ char *option;
gsize optlen;
struct rspamd_symbol_option *prev, *next;
};
@@ -54,10 +54,10 @@ struct rspamd_symbol_result {
double score; /**< symbol's score */
struct kh_rspamd_options_hash_s *options; /**< list of symbol's options */
struct rspamd_symbol_option *opts_head; /**< head of linked list of options */
- const gchar *name;
+ const char *name;
struct rspamd_symbol *sym; /**< symbol configuration */
gssize opts_len; /**< total size of all options (negative if truncated option is added) */
- guint nshots;
+ unsigned int nshots;
int flags;
struct rspamd_symbol_result *next; /**< for shadow results */
};
@@ -74,11 +74,11 @@ struct rspamd_symbol_result {
struct rspamd_passthrough_result {
struct rspamd_action *action;
- guint priority;
- guint flags;
+ unsigned int priority;
+ unsigned int flags;
double target_score;
- const gchar *message;
- const gchar *module;
+ const char *message;
+ const char *module;
struct rspamd_passthrough_result *prev, *next;
};
@@ -89,7 +89,7 @@ enum rspamd_action_config_flags {
RSPAMD_ACTION_RESULT_DISABLED = (1u << 1u),
};
struct rspamd_action_config {
- gdouble cur_limit;
+ double cur_limit;
int flags;
struct rspamd_action *action;
};
@@ -107,14 +107,14 @@ struct rspamd_scan_result {
struct kh_rspamd_symbols_hash_s *symbols; /**< symbols of metric */
struct kh_rspamd_symbols_group_hash_s *sym_groups; /**< groups of symbols */
struct rspamd_action_config *actions_config;
- const gchar *name; /**< for named results, NULL is the default result */
+ const char *name; /**< for named results, NULL is the default result */
struct rspamd_task *task; /**< back reference */
- gint symbol_cbref; /**< lua function that defines if a symbol can be inserted, -1 if unused */
- guint nactions;
- guint npositive;
- guint nnegative;
- guint nresults; /**< all results: positive, negative, passthrough etc */
- guint nresults_postfilters; /**< how many results are there before postfilters stage */
+ int symbol_cbref; /**< lua function that defines if a symbol can be inserted, -1 if unused */
+ unsigned int nactions;
+ unsigned int npositive;
+ unsigned int nnegative;
+ unsigned int nresults; /**< all results: positive, negative, passthrough etc */
+ unsigned int nresults_postfilters; /**< how many results are there before postfilters stage */
struct rspamd_scan_result *prev, *next; /**< double linked list of results */
};
@@ -124,7 +124,7 @@ struct rspamd_scan_result {
* @return metric result or NULL if metric `name` has not been found
*/
struct rspamd_scan_result *rspamd_create_metric_result(struct rspamd_task *task,
- const gchar *name, gint lua_sym_cbref);
+ const char *name, int lua_sym_cbref);
/**
* Find result with a specific name (NULL means the default result)
@@ -133,7 +133,7 @@ struct rspamd_scan_result *rspamd_create_metric_result(struct rspamd_task *task,
* @return
*/
struct rspamd_scan_result *rspamd_find_metric_result(struct rspamd_task *task,
- const gchar *name);
+ const char *name);
/**
* Adds a new passthrough result to a task
@@ -145,9 +145,9 @@ struct rspamd_scan_result *rspamd_find_metric_result(struct rspamd_task *task,
* @param module
*/
bool rspamd_add_passthrough_result(struct rspamd_task *task,
- struct rspamd_action *action, guint priority,
- double target_score, const gchar *message,
- const gchar *module, guint flags,
+ struct rspamd_action *action, unsigned int priority,
+ double target_score, const char *message,
+ const char *module, unsigned int flags,
struct rspamd_scan_result *scan_result);
enum rspamd_symbol_insert_flags {
@@ -165,9 +165,9 @@ enum rspamd_symbol_insert_flags {
* @param opts list of symbol's options
*/
struct rspamd_symbol_result *rspamd_task_insert_result_full(struct rspamd_task *task,
- const gchar *symbol,
+ const char *symbol,
double weight,
- const gchar *opts,
+ const char *opts,
enum rspamd_symbol_insert_flags flags,
struct rspamd_scan_result *result);
@@ -185,7 +185,7 @@ struct rspamd_symbol_result *rspamd_task_insert_result_full(struct rspamd_task *
*/
struct rspamd_symbol_result *rspamd_task_remove_symbol_result(
struct rspamd_task *task,
- const gchar *symbol,
+ const char *symbol,
struct rspamd_scan_result *result);
/**
* Adds new option to symbol
@@ -195,7 +195,7 @@ struct rspamd_symbol_result *rspamd_task_remove_symbol_result(
*/
gboolean rspamd_task_add_result_option(struct rspamd_task *task,
struct rspamd_symbol_result *s,
- const gchar *opt,
+ const char *opt,
gsize vlen);
/**
@@ -227,8 +227,8 @@ void rspamd_task_symbol_result_foreach(struct rspamd_task *task,
* @return result metric weight
*/
double rspamd_factor_consolidation_func(struct rspamd_task *task,
- const gchar *metric_name,
- const gchar *unused);
+ const char *metric_name,
+ const char *unused);
/**
diff --git a/src/libmime/smtp_parsers.h b/src/libmime/smtp_parsers.h
index e88c2bf54..79d15903a 100644
--- a/src/libmime/smtp_parsers.h
+++ b/src/libmime/smtp_parsers.h
@@ -35,9 +35,9 @@ gboolean rspamd_content_disposition_parser(const char *data, size_t len,
rspamd_mempool_t *pool);
gboolean
-rspamd_rfc2047_parser(const gchar *in, gsize len, gint *pencoding,
- const gchar **charset, gsize *charset_len,
- const gchar **encoded, gsize *encoded_len);
+rspamd_rfc2047_parser(const char *in, gsize len, int *pencoding,
+ const char **charset, gsize *charset_len,
+ const char **encoded, gsize *encoded_len);
rspamd_inet_addr_t *rspamd_parse_smtp_ip(const char *data, size_t len,
rspamd_mempool_t *pool);