I've found that Binc is broken in a non-chrooted environment.

1) Various bits of meta data (subscribed folders, uidvalidity data etc) are
stored in files that are referred to in different ways:

- sometimes as "/filename" (which only works under chroot)
- sometimes as "/path/to/imap-folder/filename" (which also only works under
chroot)
- sometimes as "/absolute/path/from/filesystem/root/filename" (which works
all the time, so long as it's before the chroot)
- sometimes as "filename" (may or may not work at all)

It would probably be a good plan to either remove non-chrooted use as an
option or make the choice of filesystem names more consistent. Personally,
I'd prefer to have the option of not running with chroot so that I don't
_have_ to run checkpassword as root (since I'm not a getpwnam kind of guy).

Therefore I think that the most consistent approach would be to refer to
filenames as ./path/to/filename and only open user-specific files after any
chroot or chdir (see below).

2) There also isn't a chdir into the directory supplied by checkpassword in
a non-chrooted environment.

Also: There's a getpwnam in bincimap-auth-checkpassword.cc. Surely that's a
waste of time at best (it's completely breaks any virtual user scenarios).
By design, shouldn't binc let checkpassword will handle authentication and
authorisation?

The idea of forcing TLS doesn't appeal to me, as I believe it's up to the
system owner to determine policy. It's easy enought to disable, but it sure
would be nice if the "clear text passwords in unencrypted connections" flag
worked. My belief is that the endpoints of any connection are the weakest
points, not the network in between, and that TLS and SSL are therefore less
useful than taking precautions with the data storage (by encrypting it, for
instance). But that's just me. :)

Otherwise, Binc seems to be a pretty reasonable IMAP server. A larger memory
footprint than courier-imap, but it feels a bit faster, whatever that means.
Not needing GDBM/BDB libraries is also nice. I suppose the memory footprint
may be able to be reduced by adopting the DJB-style 'qmail-popup' and
'qmail-pop3d' separation, but that's a whole new can of worms.

Roland

Reply via email to