I'm having a problem getting bincimap to accept my command-line arguments and configuration file values. I'm specifying [allow plain auth in non ssl = "yes"] in the configuration file *and* -a on the command line, and I still receive "Plain text password authentication is disallowed" from the server when trying to login. (Interestingly, I configured bincimap with the --without-ssl option as I don't want STARTTLS, and I'll use sslserver if I want SSL; seems that binc should maybe ignore this option when it's not built with SSL.)
I'm using bincimap with tcpserver and multilog, although right now I'm just running ./run from the command line.
Here's my protocol dump:
********
[EMAIL PROTECTED]:~> telnet mail 7298
Trying 192.168.0.5...
Connected to mail.
Escape character is '^]'.
* OK Welcome to Binc IMAP Copyright (C) 2002-2004 Andreas Aardal Hanssen at 2004-02-06 04:40:32 CST
1 login test f00b00
1 NO LOGIN failed: Plain text password authentication is disallowed. Please try enabling SSL or TLS in your mail client.
********
Here's my configuration file:
********
Authentication {
allow plain auth in non ssl = "yes",
auth penalty = 4,
disable starttls = "yes"
}//Security {
// jail path = "/usr/local/bin",
// jail user = "nobody",
// jail group = "nobody"
//}Log {
type = "multilog",
environment ip variable = "TCPREMOTEIP"
}Mailbox {
depot = "Maildir++",
type = "Maildir",
path = "Maildir",
auto create inbox = "yes",
auto subscribe mailboxes = "INBOX",
umask = "077"
}Session {
idle timeout = 1860,
auth timeout = 60,
transfer timeout = 1200,
transfer buffer size = 1024
}
********Here's my "run" file (which calls ./run-service): ******** #!/bin/sh # PATH='/command'
exec 2>&1 exec envdir ./env-run ./run-service ********
Here's what the envdir 'env-run' looks like: ******** [EMAIL PROTECTED]:bincimap> env-print ./env-run IP=192.168.0.5 PAM_SERVICE=imap PORT=7298 TCPSERVER_C=40 ********
Here's my "run-service" file: ******** #!/bin/sh # # Requires: # - IP # - PORT # - TCPSERVER_C # - PAM_SERVICE # PATH='/command:/usr/local/bin:/usr/bin'
# TODO: Make binc's options dynamic (and long-style) once they're working....
# Figure out why bincimap-up crashes without the `env -` first....
exec 2>&1
exec \
env - PATH="$PATH" \
tcpserver -HRDP -c "$TCPSERVER_C" -- "$IP" "$PORT" \
bincimap-up -a -c ./conf -d -L multilog -m Maildir -M Maildir -u 077 -- \
checkpassword-pam -s "$PAM_SERVICE" --stdout --debug -- \
bincimapd
# Long-style options don't work; short-style don't work either, but I gotta try something.
# --allow-plain \
# --disable-starttls \
# --conf='./conf' \
# --depot='Maildir++' \
# --logtype='multilog' \
# --mailbox-path='Maildir' \
# --mailbox-type='Maildir' \
# --subscribe-mailboxes='INBOX,INBOX.sent,INBOX.trash' \
# --umask='077' \
# -- \
********
Any ideas?
Thanks ahead of time. This looks like it is great software--a terrific solution for those of us sick of ... other Maildir-compatible IMAP servers.
[How I long for an envdir configuration. :-) How much less code would there be if binc simply read all its configuration from the environment? I see at least one entire class devoted to parsing command-line arguments.... A shell script wrapper could easily provide traditional arguments for end-users who may not have or want a pristine/custom environment. And logging? Status, not just error messages, would be terrific.]
Dean
