Hello,

I´m using qmail-ldap-couierImap like mix mail solution.

Qmail-send, qmail-smtp, qmail-pop3, qmail-pop3-ssl and qmail-qmqpd  in QMAIL
Courier-authlib, Courier-imap and courier-imap-ssl in COURIER ( versions 
courier-imap-4.1.3  and courier-authlib-0.59.3 )

In qmail-ldap when you disable some account you put ldap attribute 
accountStatus to noaccess. It disables qmail-pop3 and qmail-imap(s) in account 
user.
I have always wanted to remove courier-imap from my scenary and use qmail-imap 
but I could not do it becasue I must be able to disable independently pop3 and 
imap in some account.

I have touch qmail-ldap code in order to add some level of account status ==> 
noimap and nopop3. So...

qmail-ldap.h
/* the same values as ints */
#define STATUS_DELETE           3
#define STATUS_BOUNCE           2
#define STATUS_NOACCESS         1
#define STATUS_NOIMAP           4
#define STATUS_NOPOP3           5
#define STATUS_OK               0
#define STATUS_UNDEF            -1

#define ISACTIVE_BOUNCE         "disabled"
#define ISACTIVE_DELETE         "deleted"
#define ISACTIVE_NOACCESS       "noaccess"
#define ISACTIVE_NOIMAP         "noimap"
#define ISACTIVE_NOPOP3         "nopop3"
#define ISACTIVE_ACTIVE         "active"


qldap.c
        } else if (r == OK) {
                if (!case_diffs(ldap_attr.s, ISACTIVE_BOUNCE))
                        *status = STATUS_BOUNCE;
                else if (!case_diffs(ldap_attr.s, ISACTIVE_DELETE))
                        *status = STATUS_DELETE;
                else if (!case_diffs(ldap_attr.s, ISACTIVE_NOACCESS))
                        *status = STATUS_NOACCESS;
                else if (!case_diffs(ldap_attr.s, ISACTIVE_NOIMAP))
                        *status = STATUS_NOIMAP;
                else if (!case_diffs(ldap_attr.s, ISACTIVE_NOPOP3))
                        *status = STATUS_NOPOP3;
                else    *status = STATUS_OK; /* default to OK */
                /* perhaps we should spill out a warning for unknown settings */
                return OK;

qmail-ldaplookup.c
                switch (status) {
                case STATUS_BOUNCE:
                        output(subfdout, "%s: %s\n",
                            LDAP_ISACTIVE, ISACTIVE_BOUNCE);
                        break;
                case STATUS_NOACCESS:
                        output(subfdout, "%s: %s\n",
                            LDAP_ISACTIVE, ISACTIVE_NOACCESS);
                        break;
                case STATUS_NOIMAP:
                        output(subfdout, "%s: %s\n",
                            LDAP_ISACTIVE, ISACTIVE_NOIMAP);
                        break;
                case STATUS_NOPOP3:
                        output(subfdout, "%s: %s\n",
                            LDAP_ISACTIVE, ISACTIVE_NOPOP3);
                        break;
                case STATUS_OK:
                        output(subfdout, "%s: %s\n",
                            LDAP_ISACTIVE, ISACTIVE_ACTIVE);
                        break;


and in checkpassword.c
        if ( status == STATUS_BOUNCE ||  status == STATUS_DELETE || status == 
STATUS_NOACCESS ) {
                qldap_free(q);
                return ACC_DISABLED;
        }else if ( status == STATUS_NOPOP3 ) {
                if ( strcmp(env_get("TCPLOCALPORT"),"110") == 0 || 
strcmp(env_get("TCPLOCALPORT"),"995") == 0 ) {
                        fprintf(stderr,"User %s is not allowed to log on PORT 
%s\n",login->s,env_get("TCPLOCALPORT"));
                        qldap_free(q);
                        return ACC_DISABLED;
                }
        }else if ( status == STATUS_NOIMAP ) {
                if ( strcmp(env_get("TCPLOCALPORT"),"143") == 0 || 
strcmp(env_get("TCPLOCALPORT"),"993") == 0 ) {
                        fprintf(stderr,"User %s is not allowed to log on PORT 
%s\n",login->s,env_get("TCPLOCALPORT"));
                        qldap_free(q);
                        return ACC_DISABLED;
                }
        }



And it seems that`s is all right!!!

Only one thing: If I want to use qmail-imap I have to use courier-login from 
courier-imap-VERSION-3.0.8. My question is:

Is it safe?
What`s your opinion? (use courier-imap-VERSION-3.0.8)
Any bugs known in courier-imap-VERSION-3.0.8?

Regards


---------------------------------------------------------------------
 
Carlos García Gómez
Sistemas de Información y Comunicaciones
Fundación Integra. http://www.f-integra.org
 
Teléfono: +34 968 355161
Fax:      +34 968 355131
Correo:   carlos.gar...@f-integra.org
 
----------------------------------------------------------------------
 
Este mensaje y los posibles documentos adjuntos al mismo son confidenciales y 
dirigidos exclusivamente a los destinatarios de los mismos. Si por un error de 
transmisión, o equivocación en la dirección de envío, usted ha recibido este 
mensaje y no es el destinatario de la información, por favor, notifíqueselo
al remitente y borre este mensaje, sin usar, informar, distribuir, imprimir, 
copiar o difundir el mensaje, total o parcialmente, por ningún medio. Gracias.
------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Courier-imap mailing list
Courier-imap@lists.sourceforge.net
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-imap

Reply via email to