Browse Source

[Minor] Add macros to access strings data

tags/1.7.3
Vsevolod Stakhov 6 years ago
parent
commit
7c09818f41
3 changed files with 12 additions and 6 deletions
  1. 6
    4
      src/controller.c
  2. 3
    0
      src/libutil/fstring.h
  3. 3
    2
      src/rspamd_proxy.c

+ 6
- 4
src/controller.c View File

@@ -1725,15 +1725,17 @@ rspamd_controller_handle_lua (struct rspamd_http_connection_entry *conn_ent,
/* Find lua script */
if (msg->url != NULL && msg->url->len != 0) {

http_parser_parse_url (msg->url->str, msg->url->len, TRUE, &u);
http_parser_parse_url (RSPAMD_FSTRING_DATA (msg->url),
RSPAMD_FSTRING_LEN (msg->url), TRUE, &u);

if (u.field_set & (1 << UF_PATH)) {
lookup.begin = msg->url->str + u.field_data[UF_PATH].off;
lookup.begin = RSPAMD_FSTRING_DATA (msg->url) +
u.field_data[UF_PATH].off;
lookup.len = u.field_data[UF_PATH].len;
}
else {
lookup.begin = msg->url->str;
lookup.len = msg->url->len;
lookup.begin = RSPAMD_FSTRING_DATA (msg->url);
lookup.len = RSPAMD_FSTRING_LEN (msg->url);
}

rspamd_snprintf (filebuf, sizeof (filebuf), "%s%c%T",

+ 3
- 0
src/libutil/fstring.h View File

@@ -30,6 +30,9 @@ typedef struct f_str_s {
gchar str[];
} rspamd_fstring_t;

#define RSPAMD_FSTRING_DATA(s) ((s)->str)
#define RSPAMD_FSTRING_LEN(s) ((s)->len)

typedef struct f_str_tok {
gsize len;
const gchar *begin;

+ 3
- 2
src/rspamd_proxy.c View File

@@ -1229,7 +1229,8 @@ proxy_check_file (struct rspamd_http_message *msg,
}
else {
/* Need to parse query URL */
if (http_parser_parse_url (msg->url->str, msg->url->len, 0, &u) != 0) {
if (http_parser_parse_url (RSPAMD_FSTRING_DATA (msg->url),
RSPAMD_FSTRING_LEN (msg->url), 0, &u) != 0) {
msg_err_session ("bad request url: %V", msg->url);

return FALSE;
@@ -1258,7 +1259,7 @@ proxy_check_file (struct rspamd_http_message *msg,
}

/* We need to create a new URL with file attribute removed */
new_url = rspamd_fstring_new_init (msg->url->str,
new_url = rspamd_fstring_new_init (RSPAMD_FSTRING_DATA (msg->url),
u.field_data[UF_QUERY].off);
new_url = rspamd_fstring_append (new_url, "?", 1);


Loading…
Cancel
Save