Hello.
I'm new to this list so i would like to welcome everybody.
I'm working at big ISP in Poland and we are preparing to move our mail
server from stock qmail + our administration software to qmail+vpopmail and
our new integrated administration enviroment.
During the evaluation of vpopmail, i've encountered few shortcomings in it,
efectively preventing us to duplicate the existing functionality of the old
server.
So, after an IRC meeting with Ken , i've decided to implement the missing
functionality myself (atleast part of it).
The missing features are:
a) per-domain quotas (to sell f.e. a domain with 50 megs quota and variable,
user administered, amount of accounts)
b) ability to run a program(s) of my choice upon delivery without creating a
lot of .qmail files (this way i do not loose the ability to use
vdelivermail).
c) domain aliases, account aliases/forwarders/autoresponders in the
database instead
of .qmail files
The proposed solution to b) is to create another filed in the database row
f.e. called dot_qmail that will contain fields similar to normal .qmail
file. This would give us the ultimate flexibility and with smart web
adminitration interface one can do everything.
The solution to c) in the accounts realm should be preety stright-forward
for you guys, and somebody experienced could implement it.
Putting everything in the database would simplify administration (only
database update is needed to add another alias , no filesystem
modification).
The domain aliases and so on is harder. My proposal is to create another
table that will hold information about all domains (excluding accounts
ofcourse). Initialy it can have 4 fields:
a) domain_id - to keep order
b) domain_name - name says all
c) domain_alias - 0 - not alias, other domain's id
d) domain_quota - quota for whole domain.
To make it more "correct" we can create 2 tables:
1st one will contain a), b) & d) and 2nd will look like this:
a) alias_id- order
b) alias_name - domain name of alias
c) domain_id - domain id it points to
This is the material for discussion.
and now we come to group quotas.
My proposal (and Ken agreed with it) is to simply use the group quotas of
the underlying file system.
Therefore i've implemented a patch that add variable uid/gid functionality
to vpopmail. The uid part is actualy and offshot of the main project but
since it was strightforward to do, then why not have such a functionality ,
just in case.
The user-visible changes are preety simple: the vadddomain has 2 new
options: -u user_id and -g group_id and it'll create the vpopmail domain
with specified uid/gid. I've not tested the variable uid functionality too
much but the variable gid works for me (atleast it creates domains/users
correctly and delivers the mail with no problem and correct ownership).
In this apporach i'm assuming that the postmaster quota will be the
domain-quota (my admin system will use it), but you can set the group quota
as you wish and forget about this.
Ok, please take a look on it and let me know what do you think about it and
other proposals and if somebody want to work on it with me.
That's it.
Kris
p.s. forgive my english
p.s. the patch is against 4.9.3a
vpopmail-4.9.3-vargid.patch2