El 17/12/11 23:59, Luc de Louw escribió:
On 12/17/2011 10:42 PM, Juan Cimadevilla wrote:

Some ideas to a new project could be:
- Use of a template system like Smarty (useful to customization).

Using smary would lead in a more or less complete rewrite. If that should happen, the new language would probably not PHP, but python or Ruby (on-rails)
I say "like Smarty", not necessary Smarty. However, Newscoop uses Smarty and it is a big PHP project, so it is possible to use Smarty in PHP projects.

Other template systems that can be used with PHP (from phpclasses.org):
- Siviglia Framework templating engine (Jose Maria Rodriguez Millan <dash...@hotmail.com>) - REG_template, a simple template management system based on php-s regular expressions (<kami.e...@gmail.com>) - Popcorn, easy and fast template engine for PHP (Sergey Romanenko <awi...@msn.com>)
- PHP Simple View (Mallory Dessaintes <mdessain...@gmail.com>)

...or it can by written from scratch.

Anyway, Smarty is too complex to use in this project, i guess.


- A more organized structure using php classes.

Agreed

- Export users to Berkeley db format to avoid real time user validation
using MySQL (useful in high load servers).

Please exmplain
If a server receives a lot of spam the validation of accounts using MySQL rapidly ends with the memory. Using BDB in pam instead MySQL increases the tolerance to this attacks.

In some of my servers the only solution to spam attacks (thousands of spams per second), was limiting the number of threads, after a given number of requests, the only response from the server is "450 Server too busy", but this number of threads can be increased using BDB.

In one of my servers I have used a simple php script in cron to export MySQL user accounts to BDB, to validate users accounts with pam instead of using MySQL directly, this increases the number of threads that this server can manage with the same resources.




- Domain accounts synchronization for alias domains (to avoid
backscattering).

Please explain
If you create a domain alias adding it in mydestination and canonical, i.e., domain.net forwards all email to domain.com, if you send email to the unexisting account "exam...@domain.com", the server rejects the delivery, but if you send the email to "exam...@domain.net", server accepts the email, and then it sends a bounce message.

This bounces are used by spammers to do backscattering attacks.

If you create the domain alias as a new separate domain, and when you create the account "example2" in "domain.com", the account is also automatically created in "domain.net" and forwarded to "examp...@domain.com", any email sent to the unexisting accounts of the domain alias will be rejected too, avoiding the backscattering.

I have had many problems with the bounces of alias, and finally I have written a small php script, again using the cron (not real time), to do this account syncs.



- Admin access to individual users, i.e. to change passwords and
vacation messages.

Can be done trough horde
I know that, but I have many customers that don't like to use horde and asked my about this feature. Also, I have servers without Horde.



- Suspend domains and accounts.

account suspension  is already possible

Disabling the POP, IMAP, SMTP, etc, I guess, but it is very confusing to regular users. A "suspend account" link will be more useful.

For the owners of a server with many domains, a "suspend domain" will be also a good feature.



- Support for Exim and Dovecot.

Since cyrus imap and postfix are very different from exim and dovecot, this is completely out of scope.
Yes, it is, but If you correctly design the software architecture to allow this (a separate web-interface and functions), someone can write the new functions to use Exim and Dovecot in the future.

I'm not really interested in Exim or Dovecot, so this is not important to me, but I know some people than can be interested.


_______________________________________________
Web-cyradm mailing list
Web-cyradm@web-cyradm.org
http://www.web-cyradm.org/mailman/listinfo/web-cyradm

Reply via email to