On Wed, May 26, 2010 at 03:48:21PM +0800, cktan wrote:
Hi,
I've tried that and it was started without any error but we can't
login with with the maillog error as below:
May 26 15:40:17 mail2 perdition[462]: version=1.18, add_domain="",
authenticate_in=off, authenticate_timeout=1800, bind_address="",
capability="UIDL USER", client_server_specification=off,
config_file="/etc/perdition/perdition.conf", connection_limit=0,
connection_logging=off, connect_relog=300, debug=off,
domain_delimiter="@", explicit_domain="", group="nobody",
inetd_mode=off, listen_port="110", log_facility="mail",
log_passwd="never", login_disabled=off, lower_case="",
map_library="/usr/lib/libperditiondb_gdbm.so.0",
map_library_opt="ldap://ldap.abc.com:389/dc=.?uid,mailHost?sub?(mail=%45s)?!BINDNAME=cn=xxx%2cdc=.,X-BINDPW=yyy",
no_bind_banner=off, no_daemon=off, no_lookup=off, nodename="mail2",
ok_line="You are so in", outgoing_port="110",
outgoing_server="",
pid_file="/var/run/perdition.pop3/perdition.pop3.pid",
protocol="POP3", server_resp_line=off, strip_domain="",
timeout=1800, username="nobody", username_from_database=off,
query_key="", quiet=off, ssl_mode="", ssl_ca_file="",
ssl_ca_pat
Auth user="cktan(a)abc.com" passwd="XXXXXX" server="(null)"
port="110"
status="failed: Could not determine server"
Sorry for not noticing this the first time around but
I think that you are seeing the problem that is resolved by the following
patch:
http://hg.vergenet.net/perdition/perdition/rev/28264fe9e31b
# HG changeset patch
# User Simon Horman <horms(a)verge.net.au>
# Date 1263455327 -39600
# Node ID 28264fe9e31b7f34676260de9f26134399bd0372
# Parent c9763a7ea6adb242c7e837bc232f19ec6ebda6ca
LDAP: support schema-misc mailHost
This previously worked by chance when the get_server() internal API was
used, but broke when the ldap module was switched over to use get_server().
Tested-by: Dominique Marant <Dominique.Marant(a)univ-lille1.fr>
Signed-off-by: Simon Horman <horms(a)verge.net.au>
--- a/perdition/db/ldap/perditiondb_ldap.c Thu Dec 24 17:40:40 2009 +1100
+++ b/perdition/db/ldap/perditiondb_ldap.c Thu Jan 14 18:48:47 2010 +1100
@@ -516,12 +516,27 @@
ber = NULL;
/* Build the return string */
- if (returns[0])
- *user_str = returns[0];
- if (returns[1])
- *server_str = returns[1];
- if (returns[2])
- *port_str = returns[2];
+ if (returns[0] && !returns[1] && !returns[2]) {
+ user_server_port_t *usp = NULL;
+ if (user_server_port_str_assign(&usp, returns[0]) < 0) {
+ VANESSA_LOGGER_DEBUG("user_server_port_str_assign");
+ goto leave;
+ }
+ free(returns[0]);
+ *user_str = user_server_port_get_user(usp);
+ *server_str = user_server_port_get_server(usp);
+ *port_str = user_server_port_get_port(usp);
+ user_server_port_unassign(usp);
+ user_server_port_destroy(usp);
+ }
+ else {
+ if (returns[0])
+ *user_str = returns[0];
+ if (returns[1])
+ *server_str = returns[1];
+ if (returns[2])
+ *port_str = returns[2];
+ }
status = 0;