Not working:> patching file userdb-vpopmail.c > Hunk #1 FAILED at 54. > 1 out of 1 hunk FAILED -- saving rejects to file userdb-vpopmail.c.rej-------- Original Message -------- Subject: Re: Vpopmail Error From: Aki Tuomi <aki.tuomi at dovecot.fi> To: dovecot at dovecot.org, Bobber <bobber at kc0dxf.net> Date: 04/11/2017 12:13 PM> diff --git a/src/auth/userdb-vpopmail.c b/src/auth/userdb-vpopmail.c > index 5042dcf..d344fcd 100644 > --- a/src/auth/userdb-vpopmail.c > +++ b/src/auth/userdb-vpopmail.c > @@ -54,7 +54,7 @@ struct vqpasswd *vpopmail_lookup_vqp(struct auth_request *request, > static const char * > userdb_vpopmail_get_quota(const char *template, const char *vpop_str) > { > - const struct var_expand_table *tab; > + struct var_expand_table *tab; > string_t *quota; > > if (template == NULL || *vpop_str == '\0' || > > can you give this a go? It should repair the build. > > Aki > >> On April 11, 2017 at 7:32 PM Bobber <bobber at kc0dxf.net> wrote: >> >> >> Still not working. I'm now getting this error: >> >>> userdb-vpopmail.c: In function ?userdb_vpopmail_get_quota?: >>> userdb-vpopmail.c:65:13: error: assignment of member ?key? in >>> read-only object >>> tab[0].key = 'q'; >>> ^ >>> userdb-vpopmail.c:66:15: error: assignment of member ?value? in >>> read-only object >>> tab[0].value = format_maildirquota(vpop_str); >>> ^ >>> Makefile:2048: recipe for target 'auth-userdb-vpopmail.o' failed >>> make[3]: *** [auth-userdb-vpopmail.o] Error 1 >>> make[3]: Leaving directory '/usr/local/src/dovecot-2.2.29/src/auth' >>> Makefile:496: recipe for target 'all-recursive' failed >>> make[2]: *** [all-recursive] Error 1 >>> make[2]: Leaving directory '/usr/local/src/dovecot-2.2.29/src' >>> Makefile:619: recipe for target 'all-recursive' failed >>> make[1]: *** [all-recursive] Error 1 >>> make[1]: Leaving directory '/usr/local/src/dovecot-2.2.29' >>> Makefile:463: recipe for target 'all' failed >>> make: *** [all] Error 2 >> >> -------- Original Message -------- >> Subject: Re: Vpopmail Error >> From: Timo Sirainen <tss at iki.fi> >> To: Bobber <bobber at kc0dxf.net> >> Date: 04/11/2017 02:28 AM >>> On 10 Apr 2017, at 23.55, Bobber <bobber at kc0dxf.net >>> <mailto:bobber at kc0dxf.net>> wrote: >>>> I'm trying to compile the latest Dovecot (v2.2.29) and when I run >>>> make I get this error: >>>> >>>>> auth-userdb-vpopmail.o: In function `userdb_vpopmail_get_quota': >>>>> /usr/local/src/dovecot-2.2.29/src/auth/userdb-vpopmail.c:64: >>>>> undefined reference to `var_expand_table_build' >>>>> collect2: error: ld returned 1 exit status >>>>> Makefile:932: recipe for target 'auth' failed >>>>> make[3]: *** [auth] Error 1 >>>>> make[3]: Leaving directory '/usr/local/src/dovecot-2.2.29/src/auth' >>>>> Makefile:496: recipe for target 'all-recursive' failed >>>>> make[2]: *** [all-recursive] Error 1 >>>>> make[2]: Leaving directory '/usr/local/src/dovecot-2.2.29/src' >>>>> Makefile:619: recipe for target 'all-recursive' failed >>>>> make[1]: *** [all-recursive] Error 1 >>>>> make[1]: Leaving directory '/usr/local/src/dovecot-2.2.29' >>>>> Makefile:463: recipe for target 'all' failed >>>>> make: *** [all] Error 2 >>>> I'm using Debian Jessie and it's up to date. Just to make sure it >>>> wasn't something in Jessie I went back into v2.2.28 (which I've been >>>> using since it was released) and did a clean build successfully. >>>> >>>> I've never had any problems compiling dovecot up until now. Any ideas >>>> on how to fix this? >>> Fixed by >>> https://github.com/dovecot/core/commit/892ba92f54b853dd7cf860eca771e441ca9632aa >>> >> -- >> *Bob Wooldridge* >> Blog: http://kc0dxf.net/blog/-- *Bob Wooldridge* Blog: http://kc0dxf.net/blog/
Stupid copypaste... can you do the change manually, it fails on tabs vs. spaces errors now. We'll get the commit out bit later. Aki> On April 11, 2017 at 8:29 PM Bobber <bobber at kc0dxf.net> wrote: > > > Not working: > > > patching file userdb-vpopmail.c > > Hunk #1 FAILED at 54. > > 1 out of 1 hunk FAILED -- saving rejects to file userdb-vpopmail.c.rej > > > -------- Original Message -------- > Subject: Re: Vpopmail Error > From: Aki Tuomi <aki.tuomi at dovecot.fi> > To: dovecot at dovecot.org, Bobber <bobber at kc0dxf.net> > Date: 04/11/2017 12:13 PM > > diff --git a/src/auth/userdb-vpopmail.c b/src/auth/userdb-vpopmail.c > > index 5042dcf..d344fcd 100644 > > --- a/src/auth/userdb-vpopmail.c > > +++ b/src/auth/userdb-vpopmail.c > > @@ -54,7 +54,7 @@ struct vqpasswd *vpopmail_lookup_vqp(struct auth_request *request, > > static const char * > > userdb_vpopmail_get_quota(const char *template, const char *vpop_str) > > { > > - const struct var_expand_table *tab; > > + struct var_expand_table *tab; > > string_t *quota; > > > > if (template == NULL || *vpop_str == '\0' || > > > > can you give this a go? It should repair the build. > > > > Aki > > > >> On April 11, 2017 at 7:32 PM Bobber <bobber at kc0dxf.net> wrote: > >> > >> > >> Still not working. I'm now getting this error: > >> > >>> userdb-vpopmail.c: In function ?userdb_vpopmail_get_quota?: > >>> userdb-vpopmail.c:65:13: error: assignment of member ?key? in > >>> read-only object > >>> tab[0].key = 'q'; > >>> ^ > >>> userdb-vpopmail.c:66:15: error: assignment of member ?value? in > >>> read-only object > >>> tab[0].value = format_maildirquota(vpop_str); > >>> ^ > >>> Makefile:2048: recipe for target 'auth-userdb-vpopmail.o' failed > >>> make[3]: *** [auth-userdb-vpopmail.o] Error 1 > >>> make[3]: Leaving directory '/usr/local/src/dovecot-2.2.29/src/auth' > >>> Makefile:496: recipe for target 'all-recursive' failed > >>> make[2]: *** [all-recursive] Error 1 > >>> make[2]: Leaving directory '/usr/local/src/dovecot-2.2.29/src' > >>> Makefile:619: recipe for target 'all-recursive' failed > >>> make[1]: *** [all-recursive] Error 1 > >>> make[1]: Leaving directory '/usr/local/src/dovecot-2.2.29' > >>> Makefile:463: recipe for target 'all' failed > >>> make: *** [all] Error 2 > >> > >> -------- Original Message -------- > >> Subject: Re: Vpopmail Error > >> From: Timo Sirainen <tss at iki.fi> > >> To: Bobber <bobber at kc0dxf.net> > >> Date: 04/11/2017 02:28 AM > >>> On 10 Apr 2017, at 23.55, Bobber <bobber at kc0dxf.net > >>> <mailto:bobber at kc0dxf.net>> wrote: > >>>> I'm trying to compile the latest Dovecot (v2.2.29) and when I run > >>>> make I get this error: > >>>> > >>>>> auth-userdb-vpopmail.o: In function `userdb_vpopmail_get_quota': > >>>>> /usr/local/src/dovecot-2.2.29/src/auth/userdb-vpopmail.c:64: > >>>>> undefined reference to `var_expand_table_build' > >>>>> collect2: error: ld returned 1 exit status > >>>>> Makefile:932: recipe for target 'auth' failed > >>>>> make[3]: *** [auth] Error 1 > >>>>> make[3]: Leaving directory '/usr/local/src/dovecot-2.2.29/src/auth' > >>>>> Makefile:496: recipe for target 'all-recursive' failed > >>>>> make[2]: *** [all-recursive] Error 1 > >>>>> make[2]: Leaving directory '/usr/local/src/dovecot-2.2.29/src' > >>>>> Makefile:619: recipe for target 'all-recursive' failed > >>>>> make[1]: *** [all-recursive] Error 1 > >>>>> make[1]: Leaving directory '/usr/local/src/dovecot-2.2.29' > >>>>> Makefile:463: recipe for target 'all' failed > >>>>> make: *** [all] Error 2 > >>>> I'm using Debian Jessie and it's up to date. Just to make sure it > >>>> wasn't something in Jessie I went back into v2.2.28 (which I've been > >>>> using since it was released) and did a clean build successfully. > >>>> > >>>> I've never had any problems compiling dovecot up until now. Any ideas > >>>> on how to fix this? > >>> Fixed by > >>> https://github.com/dovecot/core/commit/892ba92f54b853dd7cf860eca771e441ca9632aa > >>> > >> -- > >> *Bob Wooldridge* > >> Blog: http://kc0dxf.net/blog/ > > -- > *Bob Wooldridge* > Blog: http://kc0dxf.net/blog/
This patch worked for me on CentOS 7:
<patch>
diff -uNr dovecot-2.2.29/src/auth/userdb-vpopmail.c
dovecot-2.2.29-new/src/auth/userdb-vpopmail.c
--- dovecot-2.2.29/src/auth/userdb-vpopmail.c 2017-02-20
02:34:52.000000000 -0700
+++ dovecot-2.2.29-new/src/auth/userdb-vpopmail.c 2017-04-11
15:18:35.779004226 -0600
@@ -54,14 +54,17 @@
static const char *
userdb_vpopmail_get_quota(const char *template, const char *vpop_str)
{
- const struct var_expand_table *tab;
+ struct var_expand_table *tab;
string_t *quota;
if (template == NULL || *vpop_str == '\0' ||
strcmp(vpop_str, "NOQUOTA") == 0)
return "";
- tab = var_expand_table_build('q', format_maildirquota(vpop_str),
'\0');
+ tab = t_new(struct var_expand_table, 2);
+ tab[0].key = 'q';
+ tab[0].value = format_maildirquota(vpop_str);
+
quota = t_str_new(128);
var_expand(quota, template, tab);
return str_c(quota);
diff -uNr dovecot-2.2.29/src/lib/var-expand.h
dovecot-2.2.29-new/src/lib/var-expand.h
--- dovecot-2.2.29/src/lib/var-expand.h 2016-12-03 10:13:21.000000000 -0700
+++ dovecot-2.2.29-new/src/lib/var-expand.h 2017-04-11
15:14:27.054199764 -0600
@@ -36,7 +36,4 @@
If key is '\0', it's ignored. If long_key is NULL, it's
ignored. */
bool var_has_key(const char *str, char key, const char *long_key)
ATTR_PURE;
-const struct var_expand_table *
-var_expand_table_build(char key, const char *value, char key2, ...);
-
#endif
</patch>
On 4/11/2017 11:42 AM, Aki Tuomi wrote:> Stupid copypaste... can you do the change manually, it fails on tabs vs.
spaces errors now. We'll get the commit out bit later.
>
> Aki
>
>> On April 11, 2017 at 8:29 PM Bobber <bobber at kc0dxf.net> wrote:
>>
>>
>> Not working:
>>
>>> patching file userdb-vpopmail.c
>>> Hunk #1 FAILED at 54.
>>> 1 out of 1 hunk FAILED -- saving rejects to file
userdb-vpopmail.c.rej
>>
>> -------- Original Message --------
>> Subject: Re: Vpopmail Error
>> From: Aki Tuomi <aki.tuomi at dovecot.fi>
>> To: dovecot at dovecot.org, Bobber <bobber at kc0dxf.net>
>> Date: 04/11/2017 12:13 PM
>>> diff --git a/src/auth/userdb-vpopmail.c
b/src/auth/userdb-vpopmail.c
>>> index 5042dcf..d344fcd 100644
>>> --- a/src/auth/userdb-vpopmail.c
>>> +++ b/src/auth/userdb-vpopmail.c
>>> @@ -54,7 +54,7 @@ struct vqpasswd *vpopmail_lookup_vqp(struct
auth_request *request,
>>> static const char *
>>> userdb_vpopmail_get_quota(const char *template, const char
*vpop_str)
>>> {
>>> - const struct var_expand_table *tab;
>>> + struct var_expand_table *tab;
>>> string_t *quota;
>>>
>>> if (template == NULL || *vpop_str == '\0' ||
>>>
>>> can you give this a go? It should repair the build.
>>>
>>> Aki
>>>
>>>> On April 11, 2017 at 7:32 PM Bobber <bobber at
kc0dxf.net> wrote:
>>>>
>>>>
>>>> Still not working. I'm now getting this error:
>>>>
>>>>> userdb-vpopmail.c: In function ?userdb_vpopmail_get_quota?:
>>>>> userdb-vpopmail.c:65:13: error: assignment of member ?key?
in
>>>>> read-only object
>>>>> tab[0].key = 'q';
>>>>> ^
>>>>> userdb-vpopmail.c:66:15: error: assignment of member
?value? in
>>>>> read-only object
>>>>> tab[0].value = format_maildirquota(vpop_str);
>>>>> ^
>>>>> Makefile:2048: recipe for target
'auth-userdb-vpopmail.o' failed
>>>>> make[3]: *** [auth-userdb-vpopmail.o] Error 1
>>>>> make[3]: Leaving directory
'/usr/local/src/dovecot-2.2.29/src/auth'
>>>>> Makefile:496: recipe for target 'all-recursive'
failed
>>>>> make[2]: *** [all-recursive] Error 1
>>>>> make[2]: Leaving directory
'/usr/local/src/dovecot-2.2.29/src'
>>>>> Makefile:619: recipe for target 'all-recursive'
failed
>>>>> make[1]: *** [all-recursive] Error 1
>>>>> make[1]: Leaving directory
'/usr/local/src/dovecot-2.2.29'
>>>>> Makefile:463: recipe for target 'all' failed
>>>>> make: *** [all] Error 2
>>>> -------- Original Message --------
>>>> Subject: Re: Vpopmail Error
>>>> From: Timo Sirainen <tss at iki.fi>
>>>> To: Bobber <bobber at kc0dxf.net>
>>>> Date: 04/11/2017 02:28 AM
>>>>> On 10 Apr 2017, at 23.55, Bobber <bobber at kc0dxf.net
>>>>> <mailto:bobber at kc0dxf.net>> wrote:
>>>>>> I'm trying to compile the latest Dovecot (v2.2.29)
and when I run
>>>>>> make I get this error:
>>>>>>
>>>>>>> auth-userdb-vpopmail.o: In function
`userdb_vpopmail_get_quota':
>>>>>>>
/usr/local/src/dovecot-2.2.29/src/auth/userdb-vpopmail.c:64:
>>>>>>> undefined reference to `var_expand_table_build'
>>>>>>> collect2: error: ld returned 1 exit status
>>>>>>> Makefile:932: recipe for target 'auth'
failed
>>>>>>> make[3]: *** [auth] Error 1
>>>>>>> make[3]: Leaving directory
'/usr/local/src/dovecot-2.2.29/src/auth'
>>>>>>> Makefile:496: recipe for target
'all-recursive' failed
>>>>>>> make[2]: *** [all-recursive] Error 1
>>>>>>> make[2]: Leaving directory
'/usr/local/src/dovecot-2.2.29/src'
>>>>>>> Makefile:619: recipe for target
'all-recursive' failed
>>>>>>> make[1]: *** [all-recursive] Error 1
>>>>>>> make[1]: Leaving directory
'/usr/local/src/dovecot-2.2.29'
>>>>>>> Makefile:463: recipe for target 'all'
failed
>>>>>>> make: *** [all] Error 2
>>>>>> I'm using Debian Jessie and it's up to date.
Just to make sure it
>>>>>> wasn't something in Jessie I went back into v2.2.28
(which I've been
>>>>>> using since it was released) and did a clean build
successfully.
>>>>>>
>>>>>> I've never had any problems compiling dovecot up
until now. Any ideas
>>>>>> on how to fix this?
>>>>> Fixed by
>>>>>
https://github.com/dovecot/core/commit/892ba92f54b853dd7cf860eca771e441ca9632aa
>>>>>
>>>> --
>>>> *Bob Wooldridge*
>>>> Blog: http://kc0dxf.net/blog/
>> --
>> *Bob Wooldridge*
>> Blog: http://kc0dxf.net/blog/
--
Eric Broch, IMSO, DAM, NGOO, DITH, URTS
White Horse Technical Consulting (WHTC)