search for: dict_lookup

Displaying 13 results from an estimated 13 matches for "dict_lookup".

2016 Oct 17
2
Dict proxy client returning empty string instead of multiline string
...test\n", 8192) = 14 > > > >>>>>> > > > >>>>>> Indeed "\1r" and "\1n" are the escape sequences used by > > > >>>>>> "lib/strescape.c". I went deeped and debugged the call to "dict_lookup" > > > >>>>>> performed by doveadm. Indeed the client gets the proper string from the > > > >>>>>> socket and to my surprise, it is properly unescaped. > > > >>>>>> > > > >>>>>> Then, in...
2016 Oct 16
2
Dict proxy client returning empty string instead of multiline string
...= 0 [...] write(8, "H2\t0\t0\tadmin at domain.tld\tsieve\n", 30) = 30 [...] read(8, "Otest\1r\1ntest\n", 8192) = 14 Indeed "\1r" and "\1n" are the escape sequences used by "lib/strescape.c". I went deeped and debugged the call to "dict_lookup" performed by doveadm. Indeed the client gets the proper string from the socket and to my surprise, it is properly unescaped. Then, in "client_dict_lookup" ("lib-dict/dict-client.c"), the call to "p_strdup" returns an empty string (null byte set at the target add...
2016 Oct 17
2
Dict proxy client returning empty string instead of multiline string
...at domain.tld\tsieve\n", 30) = 30 >> [...] >> read(8, "Otest\1r\1ntest\n", 8192) = 14 >> >> Indeed "\1r" and "\1n" are the escape sequences used by >> "lib/strescape.c". I went deeped and debugged the call to "dict_lookup" >> performed by doveadm. Indeed the client gets the proper string from the >> socket and to my surprise, it is properly unescaped. >> >> Then, in "client_dict_lookup" ("lib-dict/dict-client.c"), the call to >> "p_strdup" returns an e...
2016 Oct 17
2
Dict proxy client returning empty string instead of multiline string
...> >> Okay, it seems to me that the bug is due to "t_str_tabunescape" using > >> the unsafe datastack ("t_strdup_noconst") while the string is actually > >> returned in an async callback. > >> > >> Before it is handled by "client_dict_lookup", "client_dict_wait" > >> actually fires some IO loops that are more than likely to call "t_pop" > >> and free/flush the result string (I checked, it does call "t_pop" a > >> couple times indeed). Maybe it would be safer to use a standar...
2016 Oct 17
1
Dict proxy client returning empty string instead of multiline string
...dict_uri = "proxy::sieve"; char* key = "priv/key"; char* username = "admin at domain.tld"; char* value, error; dict_drivers_register_builtin(); dict_init(dict_uri, DICT_DATA_TYPE_STRING, username, doveadm_settings->base_dir, &dict, &error); dict_lookup(dict, pool_datastack_create(), key, &value); printf(">%s\n", value); // outputs an empty string dict_deinit(&dict); I trimmed it to the bare minimal string manipulation functions involved but cannot reproduce in that case: pool_t pool = pool_datastack_create(); char*...
2016 Oct 17
2
Dict proxy client returning empty string instead of multiline string
...lt;pierre at jaury.eu> wrote: > > > Okay, it seems to me that the bug is due to "t_str_tabunescape" using > the unsafe datastack ("t_strdup_noconst") while the string is actually > returned in an async callback. > > Before it is handled by "client_dict_lookup", "client_dict_wait" > actually fires some IO loops that are more than likely to call "t_pop" > and free/flush the result string (I checked, it does call "t_pop" a > couple times indeed). Maybe it would be safer to use a standard > datastack pool when...
2018 Jun 25
2
Pigeonhole extdata repo?
...om ext-extdata-common.c:6:0: /usr/local/include/dovecot/dict.h:86:5: note: declared here int dict_init(const char *uri, const struct dict_settings *set, ^ ext-extdata-common.c: In function 'ext_extdata_get_value': ext-extdata-common.c:162:3: error: too few arguments to function 'dict_lookup' pool_datastack_create(), key, &value)) <= 0 ) { ^ In file included from ext-extdata-common.c:6:0: /usr/local/include/dovecot/dict.h:99:5: note: declared here int dict_lookup(struct dict *dict, pool_t pool, ^ ------------------------------------------------- ONLY AT...
2018 Jun 27
0
Pigeonhole extdata repo?
...gt; /usr/local/include/dovecot/dict.h:86:5: note: declared here > int dict_init(const char *uri, const struct dict_settings *set, > ^ > ext-extdata-common.c: In function 'ext_extdata_get_value': > ext-extdata-common.c:162:3: error: too few arguments to function > 'dict_lookup' > pool_datastack_create(), key, &value)) <= 0 ) { > ^ > In file included from ext-extdata-common.c:6:0: > /usr/local/include/dovecot/dict.h:99:5: note: declared here > int dict_lookup(struct dict *dict, pool_t pool, > ^ ----------------------------------...
2018 Sep 27
1
doveadm quota error output in some cases
...garbage that I think should actually go to a log and not to the program output. When I run a doveadm quota get -A or -u user I get four errors of this kind (for user/domain storage and message limit) for each special user: doveadm(user): Error: Failed to get quota resource STORAGE: quota-dict: dict_lookup(priv/quota/storage) failed: net_connect_unix (/var/run/dovecot/dict) failed: Permission denied (euid=500(user) egid=200(vmail) missing +r perm: /var/run/dovecot/dict, dir owned by 0:0 mode=0755) (reply took 0.000 secs (0.000 in dict wait, 0.000 in other ioloops, 0.000 in locks)) Then the normal...
2018 Jun 22
2
Pigeonhole extdata repo?
Pigeonhole download page has links for extdata plugin up to v0.4 but nothing more and no link to the master repository https://pigeonhole.dovecot.org/download.html I want to use with dovecot 2.3.2rc1 but v0.4 won't compile with it. Thanks for helping ------------------------------------------------- ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of the NSA's
2017 Feb 28
2
Dict protocol changes string
On 09/23/2016 08:05 AM, Aki Tuomi wrote: > On 29.07.2016 15:35, Nagy, Attila wrote: >> I use pass and userdb with dict protocol in a similar way: >> >> key passdb { >> key = passdb^MAuth-User: %u^MAuth-Pass: %w^MAuth-Protocol: >> %s^MClient-IP: %r >> format = json >> } >> >> (^M is an \r character, inserted with vi CTRL-v + enter)
2020 Apr 24
2
error service quota-status
...voll ? quota_status_success = DUNNO ? ... } but whenever I try I get this error: Apr 24 20:04:32 cx20 dovecot[7236]: quota-status(beckidouche at domain.com)<7290><qQpiJzAqo156HAAAct2Jzg>: Error: quota check failed: Failed to get quota resource STORAGE_BYTES for INBOX: quota-dict: dict_lookup(priv/quota/storage) failed: net_connect_unix(/var/run/dovecot/dict) failed: Permission denied (euid=303(vmail) egid=303(vmail) missing +r perm: /var/run/dovecot/dict, we're not in group 489(dovecot), dir owned by 0:0 mode=0755) (reply took 0.000 secs (0.000 in dict wait, 0.000 in other iolo...
2008 Mar 29
3
Expire plugin with Mysql
Hey guys, got a question about the expire plugin. According to the wiki, the expire plugin "keeps an internal database (Berkeley DB or SQL)". I was wondering what fields in the mysql table are needed for expire to work. I assume it is setup is similar to the quota dict setup, so was just wondering what fields are required (i.e: select_field, where_field, username_field, for quota).