Hi, thanks for the reply, I applied the patch and it is working now.

Changing a little the topic, I modified  qmail-qmqpc.c  for supporting
multiple qmpqc servers ( one server per line in DIR/qmqpservers/0),
but would like to know your feed back about it.

the patch: 
http://qmail-ldap-smtpauthuser.googlecode.com/svn/trunk/qmail-qmqpc-servers_on_cmd_line.c

Original:
---
  if ( argv[1] ) {
    char temp[IPFMT];
    if (!stralloc_copys(&servers,argv[1])) nomem();
    dns_init(0);
    switch (dns_ip(&ia,&servers)) {
      case DNS_HARD: die_perm();
      case DNS_SOFT: die_temp();
      case DNS_MEM: nomem();
    }

    temp[ip_fmt(temp,&ia.ix[0].ip)]=0;
    if (!stralloc_copys(&servers, temp)) nomem();
    if (!stralloc_0(&servers)) nomem();
  }
---

Replaced with this:

---
  if ( argv[1] ) {
    getmess();
    i = 1;
    while (argv[i])
      doit(argv[i++]);
  }
---

thanks in advance.


On Fri, Mar 16, 2012 at 10:39 PM, Claudio Jeker <je...@n-r-g.com> wrote:
> On Fri, Mar 16, 2012 at 08:26:55PM +0000, Nicolas de Bari Embriz Garcia Rojas 
> wrote:
>> I think I have found the problem. but need some help fixing the code
>>
>> For some reason the qldap-filter.c is not adding the
>> /var/qmail/control/ldapobjectclass
>>
>
> ... thanks for the detailed report. I was able to verify it and the
> attached diff should fix this problem.
>
> --
> :wq Claudio
>
> Index: qldap-filter.c
> ===================================================================
> RCS file: /home/cvs-djbware/CVS/qmail-ldap/qldap-filter.c,v
> retrieving revision 1.10
> diff -u -p -r1.10 qldap-filter.c
> --- qldap-filter.c      10 Nov 2009 22:46:06 -0000      1.10
> +++ qldap-filter.c      16 Mar 2012 23:37:23 -0000
> @@ -107,7 +107,7 @@ filter_uid(char *uid)
>                return 0;
>
>        if (!filter_start(&filter)  ||
> -           !stralloc_copys(&filter,"(") ||
> +           !stralloc_cats(&filter,"(") ||
>            !stralloc_cats(&filter, LDAP_UID) ||
>            !stralloc_cats(&filter, "=") ||
>            !filter_escape(&filter, uid, str_len(uid)) ||
> @@ -179,7 +179,6 @@ filter_mail(char *mail, int *done)
>                }
>                extcnt--;
>  #else
> -#error XXX XXX
>                /* basic qmail-ldap behavior test for usern...@domain.com and
>                   catch...@domain.com */
>                ext = 0;
> @@ -193,7 +192,7 @@ filter_mail(char *mail, int *done)
>                        /* build the search string for the email address */
>                        /* mail address */
>                        if (!filter_start(&filter) ||
> -                           !stralloc_copys(&filter, "(|(") ||
> +                           !stralloc_cats(&filter, "(|(") ||
>                            !stralloc_cats(&filter, LDAP_MAIL) ||
>                            !stralloc_cats(&filter, "="))
>                                return 0;
> Index: qmail-ldaplookup.c
> ===================================================================
> RCS file: /home/cvs-djbware/CVS/qmail-ldap/qmail-ldaplookup.c,v
> retrieving revision 1.39
> diff -u -p -r1.39 qmail-ldaplookup.c
> --- qmail-ldaplookup.c  10 Nov 2009 22:43:06 -0000      1.39
> +++ qmail-ldaplookup.c  16 Mar 2012 23:37:23 -0000
> @@ -223,12 +223,12 @@ int main(int argc, char **argv)
>                switch (mode) {
>                case mail:
>                        f = filter_mail(value, &done);
> -                       if (value == 0)
> +                       if (f == 0)
>                                strerr_die2sys(1, FATAL, "building filter: ");
>                        break;
>                case uid:
>                        f = filter_uid(value);
> -                       if (value == 0)
> +                       if (f == 0)
>                                strerr_die2sys(1, FATAL, "building filter: ");
>                        done = 1;
>                        break;



-- 
> nbari

Reply via email to