Ticket #1844 (closed defeito: fixed)
Corrigir suporte a REFERRAL no sieve
Reported by: | airton | Owned by: | airton |
---|---|---|---|
Priority: | normal | Milestone: | Expresso 2.2.0.2 |
Component: | ExpressoMail | Version: | sandbox |
Severity: | média | Keywords: | Prognus |
Cc: | WorkGroup: |
Description
Como a infraestrutura do Expresso, especificamente do cyrus, é distribuída em vários servidores algumas conexões são feita por meio de proxies e/ou frontends. Um exemplo disto é o SIEVE do cyrus, pois no Expresso o servidor SIEVE configurado é o localhost do servidor web, que também é o frontend do cyrus. Porém, este é apenas o frontend e por sua vez, ele indica que o servidor verdadeiro é outro, forçando o cliente e refazer a conexão para este novo servidor. A mensagem retornada é esta:
FONTEND:~# telnet localhost 2000 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. "IMPLEMENTATION" "Cyrus timsieved v2.2.13-Debian-2.2.13-14+lenny3" "SASL" "PLAIN LOGIN" "SIEVE" "fileinto reject envelope vacation imapflags notify subaddress relational comparator-i;ascii-numeric regex" "STARTTLS" OK AUTHENTICATE "PLAIN" "YYZHA1OTM1TWFjYWNvMjE=" OK LISTSCRIPTS BYE (REFERRAL "sieve://backend1") "Try Remote." Connection closed by foreign host.
Não é para todas as ações que o frontend retorna esta mensagem, indicando para o cliente se conectar em outro servidor. Isto ocorre para o comando "LISTSCRIPTS".
O objetivo é corrigir a classe do SIEVE para que o Expresso suporte este tipo de conexão.
Esta correção corresponde ao ticket #507 do ambiente da Prognus.
Mudança aplicada na revisão r4236.