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).