linuxconf all changes logs

linuxconf all changes logs

Change log index

Version 1.13r15.1

Enhancements

disk quota for vdomain inboxs

I have added a quota feature for virtual email domain. This is settable per domain (all users sharing the same limit). The default is not limit (0 means no limit). This is enforced in vdeliver. It is not relying on kernel quota feature because generally vdomain users are sharing the same UID space (by default, changeable). It was easier to handle it this way.

This feature can be controlled from the command line when creating a new virtual email domain with the --quota option. See the linuxconf --help to see the syntax. I still have to complete the help about this topic.

Version 1.14r3

Bug fixes

mailconf: user aliases

Various problems were fixed there, including the web mode and the gnome-linuxconf segfault.

Version 1.15r0.1

Enhancements

Do not regenerate the sendmail database unless ...

When you install the mailconf module, it won't try to update the various db file unless you have generate sendmail.cf once with Linuxconf.

Version 1.15r3

Enhancements

mailconf: basic sendmail configuration dialog

Some field titles were trimmed a bit and the "Accept mail for domain" message is also trimmed if needed.

Version 1.15r3.1

Enhancements

virtual email domain: delivery

Two enhancements were done in this area.

  • Delivery is now case insensitive, which is the standard.
  • Delivery may match the user full name. This is a new option configurable virtual domain per virtual domain. A user "Jacques Gelinas" will match jacques.gelinas@some_domain.

Bug fixes

user account: mail redirection

When deleting a user, his mail redirection (managed by the mailconf module) was not removed from the aliases file.

Version 1.16r1.1

Enhancements

mailconf: sendmail.cf generation strategy

The strategy to generate this file was changed. Until now, Linuxconf was proposing the update the sendmail.cf file if it was not matching the proposed configuration. this was handy for those relying only on Linuxconf for sendmail configuration, but not so fun for the other: They had no option other than not using mailconf at all.

The new strategy is slightly changed: If sendmail.cf was generated by Linuxconf, then the previous strategy apply. If it was not (or was modified, even just a byte), then Linuxconf won't take about it. The only way to get a new sendmail.cf from Linuxconf will be interactive when changing configuration in mailconf itself.

mailconf: supports /etc/mail/sendmail.cw

Until now, Linuxconf was ignoring that file (old mistake). It now does and will silently migrate old setting to that file. If you edit you sendmail basic configuration and you have set domain aliases there, Linuxconf will remove the settings from /etc/conf.linuxconf and write /etc/mail/sendmail.cw (and will regenerate a sendmail.cf that uses it).

Version 1.16r1.2

Enhancements

mailconf: support for popauth

Linuxconf will generate a suitable sendmail.cf if you have a /etc/mail/pophash file. See ftp://ftp.solucorp.qc.ca/pub/linuxconf/pophash to get the corresponding utility.

The pophash system solves a real problem for mail server with "moving" users. If you enable relay control, then only users originating from specific networks may use the SMTP server. With this strategy, any user who have successfully connect with the vpop3d server will be allowed in. The popauther.pl script maintain in real time the /etc/mail/pophash database and sendmail uses this db to grant relay or not (plus all the other databases it already uses).

vpop3d has been modified so it provides suitable information through the syslog facility.

Version 1.16r2

Enhancements

mailconf: max recipient per message

This sendmail 8.9 feature is now available in the feature area.

Version 1.16r3.3

Enhancements

virtual user account creation command line

It is now possible to create virtual email user accounts using the command line. The password can't be set from the command line yet. You can add and delete accounts using the following command lines:

    linuxconf --modulemain mailconf --addvuser domain user name
    linuxconf --modulemain mailconf --delvuser domain user

Version 1.16r4

Enhancements

virtual email domains: Adding users from the command line

The --vpasswd command line was added to the mailconf module. This completes the job to create, delete and set the password of a virtual email account. The command line goes like this:

    linuxconf --modulemain mailconf --vpasswd account

The new password is passed on standard input, so it can't be sniffed by looking at a PS output.

Version 1.16r6

Enhancements

Email aliases: redirecting to the same account

An alias may point to the user account with the same name. This is useful to redirect email for an account to both an external address and the account's in-box folder.

Linuxconf was not supporting this properly in the user account dialog.

virtual email domain: filter program

The administrator can now configure a filter program which is used at delivery time. You can configure one different filter (or with different arguments). The filter is called after the in-box folder has been opened and locked. This is experimental.

Version 1.16r8

Bug fixes

Small fix for archiving of vdomain config files

A bug prevented archiving of vdomain files for vdomain created with fairly old versions of Linuxconf.

Version 1.16r9

Enhancements

Module mailconf: virtual domain visibility

Until now, you were allowed to see the content of a virtual domain (the account list) even if you did not have the privilege to modify it. This time is over! Now, you see only the vdomain for which you have a privilege. So if you are co-admin for domain a,b and c, you will only see those domain in the list. root will see them all.

Version 1.16r10

Enhancements

Module mailconf: command lines to deal with email aliases

Several new command line options were added to this module. Here they are:

  • linuxconf --modulemain mailconf --setalias alias values ....

    This defines (or redefines) an alias. You provide as many values as needed.

  • linuxconf --modulemain mailconf --setvalias domain alias values ....

    Same thing for virtual email domain

  • linuxconf --modulemain mailconf --unsetalias alias

    Delete an alias definition

  • linuxconf --modulemain mailconf --unsetvalias domain alias

    Same thing for virtual domain

  • linuxconf --modulemain mailconf --unsetalias alias value ...

    Remove some values from one alias definition

  • linuxconf --modulemain mailconf --unsetvalias alias value ...

    Same thing for virtual domains

  • linuxconf --modulemain mailconf --unsetalias - value ...

    Delete some values from all aliases. This is useful when you delete an account and wish to remove it from all aliases.

  • linuxconf --modulemain mailconf --unsetvalias domain - value ...

    Same thing for virtual domains.

I still have to enhace the help files. Comments appreciated!

Version 1.17r4

Enhancements

Module mailconf: new --generatecf command line

The following command line generate a new sendmail.cf.

linuxconf --modulemain mailconf --generatecf

THis may be used when you add or remove a virtual email domain using the command line for example.

Module mailconf: new URL to change vuser password

There is a new special URL for IPless virtual email domain users. By pointing their browser to:

http://server:98/htmlmod:vpass-THE_VDOMAIN:

they can change their password. The older htmlmod:userpass URL is still operational.

Version 1.17r6

Bug fixes

Module mailconf: vdomain cleanup

Virtual email domain was not supported. Further, in some case, orphan information were left in /etc/conf.linuxconf. Fixed!

Version 1.18r7

Bug fixes

Module mailconf: Some anti-spam fix in rule-sets

The check_rcpt section of sendmail.cf was enhanced to filter some quoted addresses.

Version 1.19r2

Enhancements

Module mailconf: support for RealTime Blackhole List (RBL)

There is now a check-box in the basic sendmail configuration (off by default). Once enabled, it insert the proper rules in sendmail.cf to support the RBL. Check out http://mail-abuse.org/rbl

The RBL is a way to reduce SPAM.

Version 1.21r2

Enhancements

Module mailconf: edit aliases

The dialog has been reworked. The Add button has been removed and replaced by a "Grow form" button inside the dialog. This button adds extra fields as need to the dialog. The Add button was doing the same thing, but it was not obvious (what was added).

The help screen has been fixed.

Version 1.21r3

Enhancements

Module mailconf: vdomain locking

As discussed on the list, there are now two new check-box in the vdomain configuration:

  • Incoming mails are rejected
  • Users can't retrieve their messages

These check-box allows one to lock partly or completely a virtual domain email service. This can be used when migrating a vdomain from one server to another, without stopping the mail service for other domain.

vdeliver and vpop3d were fixed to support this. vimap will have to learn about this little trickery. Quite easy to adapt.

Version 1.21r4

Enhancements

Module mailconf: noexpn and novrfy

You can control these options using two check-box. By default noexpn and novrfy are on. The logic of the check-boxes is inverted. With them, you enable expn and verify. Both check-boxes are off by default.

I have reworked the presentation of the mailconf basic configuration dialog and also the help screen, which was dating to say the least.

Version 1.21r5

Bug fixes

Module mailconf: little problems with relay and spam dialogs

The dialogs were not preserving the comments and were badly refreshing.

Version 1.21r7

Bug fixes

Module mailconf: managing the queue

The module was a little restrictive about message ID length and some were truncated.

Version 1.24

Enhancements

Module mailconf: auth timeout

You can control this parameter. You put the timeout you want or you disable the AUTH request.

Version 1.24r4

Enhancements

Module mailconf: support for Amavis

You can now specify Amavis as the delivery agent. Amavis is a mail scanner used to filter (out I guess) virus and stuff like that.

Version 1.24r8

Enhancements

Module mailconf: some publicity

The sendmail.cf produced by Linuxconf now "announce" Linuxconf as its version instead of the original x.y.z version string inherited by the original template we started with.

Version 1.24r9

Enhancements

Module mailconf: privacy options

I have added several "privacy" options (SMTP protocol features in fact). These include:

  • etrn
  • verb
  • restrictrun
  • restrictmailq
  • goaway
  • noreceipts

I put a check-box for each. I also reworked the dialog to place options together under a new tab called "SMTP features".

Module mailconf: reworked menu

The menu was originally organized in 2 sections. I have created a new one for virtual email domains features and another to control various things (manage the mail queue and generate sendmail.cf).

Bug fixes

module mailconf: long aliases

Two bugs were fixed with long aliases. Now you can create distribution list as long as needed. A bug was fixed in vdeliver and the other in the mailconf module,

Version 1.25r3

Bug fixes

Module mailconf: virtual account disk quota

There was a bug in the vdeliver utility. User disk quota were improperly handled. The minimum between user quota and global domain wide setting was used. This was kind of defeating the per user quota feature. Fixed!

Now, the per user quota is used if available. If not, the domain limit is used.

Version 1.25r5

Enhancements

Module mailconf: probing network interfaces

You can control the "probe interface" feature. This basically tells sendmail to check all network interface and perform a reverse lookup on each. This creates an alias list for the server. In general, this feature is not needed, so you can turn it off as needed. With earlier mailconf version, the feature could not be controlled and was on by default.

Bug fixes

Module mailconf: amavis mailer

The amavis mailer was improperly supported.

Version 1.25r6

Enhancements

Module mailconf: authwarnings

A check-box lets your control this feature.

Bug fixes

Module mailconf: fixes for amavis filter

The TAB was missing in the template file. This was producing an invalid sendmail.cf.

Version 1.25r7

Enhancements

Module mailconf: Accept email for the host

By default, the module was generating a sendmail.cf so email to the host was accepted. A check-box lets you control that. For example some servers are only handling virtual email domain and you do not want to accept email for the server itself at all.

Bug fixes

Module mailconf: amavis mailer template

The template file for amavis mailer was broken (spaces instead of tabs). Fixed!

Version 1.26

Enhancements

Module mailconf: complex routing

When entering an IP number for a mail gateway, the module will insert the square bracket ([ and ]) requires by sendmail if missing.

Module mailconf: more SMTP features

The parameters queuewarn and queuereturn may be configured by Linuxconf.

Module mailconf: virtual domain delivery

The vdeliver utility was changed in two ways. It now creates its temporary files in /var/spool/vdeliver and those files are deleted immediately after being created. The new directory is created on the fly with permissions root.root,0600.

By deleting the temporary file immediately, even if vdeliver exits abnormally, the file is gone.

Version 1.26r3

Enhancements

Virtual email domains: vdeliver enhancements

Two enhancements were made to vdeliver: auto-responder and vacation supports. Both are now built-in. For now, Linuxconf does not offer any way to configure those features. This is coming.

The auto-responder feature allows dummy email address to be connected to some content, sent whenever a message is received for this address. For example, for a vdomain called vdomain.com one can create a file called /var/spool/vmail/files/vdomain.com/prices.auto and this file will be sent whenever someone send a message to prices@vdomain.com. This pseudo user prices does not have to be created in the account database. The file just have to exist. Note that this file has precedence over accounts and aliases.

The vacation is handle using roughly the same logic. For user joe member of the domain vdomain.com, if you create a file /var/spool/vmail/files/vdomain.com/joe.vacation it will be sent to the sender whenever a mail is received. Bulk messages and mail-daemon related are omitted.

Also, a file called /var/spool/vmail/files/vdomain.com/joe.froms is maintained. It is used to record the fact that an email was sent to a sender once, so we won't send the vacation message over and over to the same person.

Please test this and submit comments. Once settle, we will had the administration tool allowing users to change their vacation message themselves.

Bug fixes

vpop3d and the mbox command

The mbox command was removed completely from vpop3d. It was not useful and was introducing some security flaws.

Version 1.26r5

Enhancements

Module mailconf: vdomains and vregistry

the virtual registry may be used to configure vdomains. You can do

	# Get the available variable
	/sbin/vregistry --list | grep vdomain
	# Retrieve the fallback destination
	/sbin/vregistry --get vdomain.fallback.foo.com
	# Set the domain wide inbox disk quota
	/sbin/vregistry --set vdomain.quota.foo.com 10000

Bug fixes

virtual email domains: vdeliver bug

Since 1.26r3, vdeliver had a bug and was unreliable. This is fixed and make the new auto-responder and vacation feature reliable.

Version 1.27

Enhancements

Handling email vdomain user accounts

The virtual registry was enhanced a bit to allow virtual email domain manipulation. We already had the user.enable,gecos,home, shell and uid variable to handle the main domain. Now it is possible to use the same variable to handle virtual email domain accounts. For example, to change the name of user joe in domain foo.com you do

	/sbin/vregistry --set user.gecos.foo.com.joe "his name"

Bug fixes

vpop3d: some glitches

The list command was returning an error if the in-box file was missing, instead of simply returning no messages. This was not standard. Fixed!

The parsing of the header was case sensitive (which was wrong) and it was failing to locate the return address of a message properly.

Version 1.27r5

Enhancements

mailconf: virtual email domain and MD5 passwords

The module was change to crypt new password using MD5 instead of the old (less secure/robust) UNIX crypt. No change were need in vpop3d itself. The glibc crypt function supports both the old and new MD5 format.

From now on, when a user, or administrator set a password, it will be crypt-ed using MD5 (the same format found in /etc/shadow). Older crypt-ed password will still work.

vimap was not tested. Please check it all. Since vpop3d did not need any change, things should be fine ... :-)

This change provides better password crypt. The previous format was only using the first 8 characters of the password. Also you can move accounts from the main domain to vdomain without reentering the passwords.

Version 1.28

Bug fixes

Module mailconf: anti relay rules

There were a glitch allowing relay using specially format address (user%domain.com@: notice the trailing @). The new Linuxconf generate a sendmail.cf plugging that hole.

Version 1.28r1

Enhancements

Module mailconf: ORDB support

The old RBL (Relay Black Hole) support was removed and replaced by the ORDB. ORDB perform the same task (rejects email coming from known open relay) and is a free service.

Module mailconf: vacation web page for vdomains

A web page was created to let end users handle their vacation configuration themselves. User just point their browser to http://your_server:98/htmlmod:vacation:. From there, they can enable/disable the vacation service for their email account. They can also enter a suitable message.

Version 1.28r3

Enhancements

vdeliver: time-out detection

Under strange/unknown cases, vdeliver may hang while talking to sendmail. There is now a one minute time-out on those cases and the error is logged.

Version 1.29

Enhancements

Module mailconf: queue management

The queue management is now enhanced. You can sort the various columns (in GUI mode) and you can tag several message and delete them all at once. You use the mouse third button to tag the messages.

Module mailconf: vacation support in user accounts

When editing virtual email user accounts, you have access to the vacation configuration facility for that user. This is the same dialog available in web mode (http://your_server:98/htmlmod:vacation:) for the user, now available to the administrator (or co-administrator).

Sponsored by Eric Wood.

Version 1.29r1

Enhancements

Module mailconf: aliases co-administrator

Co-administrator may handle email aliases now. But they can't alter the field "filter program" or "list file". Only root is allowed to do that. Co-administrator could use those facility to grab more privileges...

The aliases may be modified for virtual email domains from the web interface. Enter web mode and visit the "special entries" link to find out.

Virtual email domain co-administrator

You can assign a special co-administrator password to a virtual email domain. You simply turn a check-box on in the vdomain creation dialog and enter the password. This password is not related to any user account (real or virtual), but to a pseudo administrator called admin@the-domain. So if you create a new vdomain called foo.com and turn the check-box on and assign a password, then the co-administrator may enter admin@foo.com to administer the virtual email domain.

This is a nice way to delegate vdomain administration to the vdomain user/owner/customer without having to create a real user account.

Sponsored by Eric Wood!

Virtual email domain: fallback and aliases enhancements

When defining a fallback destination, you can use the | character to instruct vdeliver to pipe the message through a command

	| some command

The command may be defined using the following tokens:

  • %d: the target domain
  • %f: the sender email
  • %u: the user id.

A sample command has been created: /usr/lib/linuxconf/lib/sendsmtp. It performs SMTP message delivery without any domain/MX resolution.

This token replacement is also done in aliases pointing to a command (filter program).

Version 1.30

Enhancements

Module mailconf: listen address and port

It is now possible to control the sendmail listening address and TCP port.

Module vacation: number of addresses in db

The interface now tell you how many addresses are recorded in the vacation DB and it is possible to edit the list directly. This feature is available both to administrators and to end users.

Bug fixes

Module mailconf: adding aliases

The "add" button was missing in this dialog. No way to add aliases when previewing the list. The button was only available in the filter selection.

Version 1.30r2

Bug fixes

virtual email domain: vdeliver and aliases

Since the enhancement to fall-back (using % replacement tokens), there was a flaw. It was not working if the fall-back was pointing to an alias.

Version 1.31

Enhancements

Module mailconf: /etc/mail/sendmail.ct

/etc/mail/sendmail.ct generally contains the list of trust users (users allowed to fake the return address, such as mailing list operators).

The mailconf module does not handle this file, but if it exists, it generates a sendmail.cf using it.

Bug fixes

Module mailconf: alias co-manager

When editing a user account, there is a section driven by the mailconf module. It allows you to redirect email for this user to another destination and it allows you to register this user in various aliases (mailing lists).

The module was doing some sanity check and had a flaw. For example, it was checking if you were simply attempting to redirect the user emails to ... the user, which was pointless. Pointless unless you redirect it somewhere else. It is valid to redirect email for user Joe another place (joe@somewhere.com) and still deliver it in the local mailbox. This is done by entering "joe joe@somewhere.com)

In some case, the module was confused and was rejecting your entry claiming that you were simply redirecting email to itself.

Anyway: fixed!

Module mailconf: vacation

The vacation was complaining in some condition if the vacation message was missing.

When creating a new account with a vacation text, the file was created with the wrong name.

There were also some spelling errors.

Version 1.31r1

Enhancements

Module mailconf: /etc/mail/trusted_users

The module was already checking /etc/mail/trusted_users when generating sendmail.cf. If the file existed, the module was generating a compatible sendmail.cf. Now the module uses the file to store the trusted users. It was previously storing this information in /etc/conf.linuxconf.

The module auto-magically move old configuration (stored in /etc/conf.linuxconf) to /etc/mail/trusted_users when you change the configuration. There is no migration tool needed.

Version 1.31r3

Enhancements

Module mailconf: procmail for virtual accounts

This enhancement was submitted to the list a while ago. It lets vdeliver used procmail on incoming mail if there is a .procmailrc in the recipient home directory. The patch was modified slightly: procmail will be used either if there is a .procmailrc in the home directory or if there is a file /etc/vmail/domain.procmailrc. So you can turn on procmail recipe's domain per domain without being forced to have .procmailrc for each user.

Also, the control files used by procmail were moved from /etc to /etc/vmail.

Check this out!

Version 1.32

Bug fixes

Module mailconf: updating sendmail.ct

The module now preserve the comment in sendmail.ct as well as the ordering.

Version 1.33

Enhancements

Module mailconf: milter to identify vmail users

The milter (mail filter) has been created to let sendmail properly identify vdomain users right at the "rcpt to" stage. Without the milter sendmail can't tell anything about vdomain users and will happily accept email message to any users. Later, when trying to deliver to the vdomain, it learns the user do not exist and reject the message.

With this milter enabled (and sendmail.cf configured to use it), sendmail checks with the milter to learn if the user exist (or an alias). If not, the mail is rejected immediately.

If the vdomain has a fallback destination configured, the milter let the mail go.

An init script called vdomaincheck is delivered to start/stop the milter.

Module mailconf: single URL for password modification

A new dialog was created to let vdomain users change their password. Previously, you needed on URL per vdomain. This still work. But now the URL

	http://your_server:98/htmlmod:vpass:

gives access to a form requesting the email address (not just the user id). From the email address, the form operates on the proper vdomain.

Module mailconf: supporting milter

It is now possible to configure milter (minimally) from mailconf. You define the milter, the socket and the flags...

Module mailconf: vdeliver

vdeliver now properly return errors from filters.

Version 1.33r1

Bug fixes

Module mailconf: vmilter case insensitive

The new vmilter introduced in 1.33 was not checking email address properly (it was case sensitive). Fixed!

Version 1.33r2

Enhancements

Mailconf module: aliases

Aliases are presented using a sortable columns widget. More information are presented in the list.

Mailconf module: Complex user routing

The complex user routing has been enhanced. The rule list use a sortable columns dialog and shows more information. A new priority field gives you control over the ordering of the rules.

Mailconf module: vmilter

The vdomaincheck milter now return a meaningful error code if the user (or alias) do not exist. Much better than "command reject".

Bug fixes

Mailconf module: white spaced in aliases

The module will reject spaces in aliases and email address. This is not valid anyway.

Version 1.33r3

Bug fixes

Module mailconf: milter and full name

The vmilter was not checking for the user full name (this is configured domain by domain). So a valid email using the full name syntax (surname.name@domain) was rejected. Fixed!

Module mailconf: sendmail.cf syntax for milter

When generating a sendmail.cf with multiple milter, Linuxconf does not use the proper syntax (a comma was missing). Fixed!

Version 1.33r4

Enhancements

mailconf vmilter: mode debug

A debug mode was added to the milter. You have the option -d to turn some debugging messages and option -a to tell the milter to accept everything. Using option -a, you can safely turn on the milter to spy what it is doing without rejecting any mail.

mailconf vmilter: support for DSN

For some reason, the DSN protocol information is passed to the milter. Not sure why. This was confusing the milter as this is of no use. It now ignore the NOTIFY= and ORCPT= arguments.

Version 1.33r6

Enhancements

vdeliver, procmail and vacation

vdeliver used to execute its vacation routine prior to call procmail or deliver the message itself. Now procmail may decide to discard the message, so the vacation message is not appropriate.

Now it checks if procmail succeeded. It will only perform the vacation task if procmail succeeded.

We added a little feature with that. If procmail produce the exit code 1, the vacation message won't be performed, but vdeliver will return success to sendmail. This allows you to silently drop message. Thanks to Eric Wood for the suggestion and testing.

Bug fixes

Module mailconf: vacation text too large

There was a bug in the HTML interface when validating large text (textarea widget) input. It was limited to 1000 characters. Input larger were rejected (dialog sync mismatch).

Not really a mailconf bug, but it was affected by the UI toolkit bug.

Version 1.34

Bug fixes

Module mailconf: creating new vdomain in web mode

The was a field not initialized when creating a new vdomain. This was causing a "dialog mismatch" error in HTML mode. Because of that it was not possible to create new vdomain using the web.

Version 1.34r2

Enhancements

Module mailconf: double bounce

The module let you configure sendmail doublebounce option. You can redirect double bounce to the destination you want, disable it or redirect to /dev/null.

Virtual email domains: vacation start/stop

The vdeliver utility performs the vacation tasks. It performs this tasks for a given user if the DB file exist and there is a vacation message (The DB file collects the address who have received the vacation message so far). Now the DB file may also contains a start and stop date for the vacation service. One may setup a vacation message in advance. Currently there is no user interface to handle this. The format in the file is simply a line

	#date: start_date end_date

The dates are encoded using international convention yyyy/mm/dd.

The old behavior is preserved (A db file without #date: means the vacation processing must be done).