[GH-ISSUE #118] Add per domain limits on mailboxes and aliases #100

Closed
opened 2026-02-27 11:10:05 +03:00 by kerem · 12 comments
Owner

Originally created by @tonioo on GitHub (Dec 4, 2013).
Original GitHub issue: https://github.com/modoboa/modoboa/issues/118

Originally assigned to: @tonioo on GitHub.

Originally created by Antoine Nguyen on 2010-12-16T08:24:21Z

Currently, there are no limits concerning the amount of mailboxes or aliases that can be created for a given domain. On big configurations, it can quickly become dangerous.

Originally created by @tonioo on GitHub (Dec 4, 2013). Original GitHub issue: https://github.com/modoboa/modoboa/issues/118 Originally assigned to: @tonioo on GitHub. **Originally created by Antoine Nguyen on 2010-12-16T08:24:21Z** Currently, there are no limits concerning the amount of mailboxes or aliases that can be created for a given domain. On big configurations, it can quickly become dangerous.
kerem 2026-02-27 11:10:05 +03:00
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-01-28T10:55:11Z

In [c77e2181bebc7dc88fbd225ed1c8d4a7f4ea6dc8]:

#!CommitTicketReference repository="" revision="c77e2181bebc7dc88fbd225ed1c8d4a7f4ea6dc8"
wip: limits and new reseller profile
We add an intermediate role : Reseller. It is somewhere between a super administrator and a domain administrator. A reseller can create objects (a limited or not amount) and then define permissions on those objects:
* Create a domain admins,
* Assign limits to those admins,
* ...
see #105
<!-- gh-comment-id:29813639 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-01-28T10:55:11Z** In [c77e2181bebc7dc88fbd225ed1c8d4a7f4ea6dc8]: <pre> #!CommitTicketReference repository="" revision="c77e2181bebc7dc88fbd225ed1c8d4a7f4ea6dc8" wip: limits and new reseller profile We add an intermediate role : Reseller. It is somewhere between a super administrator and a domain administrator. A reseller can create objects (a limited or not amount) and then define permissions on those objects: * Create a domain admins, * Assign limits to those admins, * ... see #105 </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-01-28T10:55:15Z

In [33ee1c092a6c37af6782a27c2d17d37620e83c33]:

#!CommitTicketReference repository="" revision="33ee1c092a6c37af6782a27c2d17d37620e83c33"
wip: resellers and limits
I've finally started to rethink the database structure. The goal I'm trying to reach: only use User objects to manage permissions and accesses to the webui and associate other objects to them if needed (like mailboxes).
see #105
<!-- gh-comment-id:29813640 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-01-28T10:55:15Z** In [33ee1c092a6c37af6782a27c2d17d37620e83c33]: <pre> #!CommitTicketReference repository="" revision="33ee1c092a6c37af6782a27c2d17d37620e83c33" wip: resellers and limits I've finally started to rethink the database structure. The goal I'm trying to reach: only use User objects to manage permissions and accesses to the webui and associate other objects to them if needed (like mailboxes). see #105 </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-01-28T10:55:18Z

In [6c295c70e08eb4cbe3207a2f37f40c664160e33a]:

#!CommitTicketReference repository="" revision="6c295c70e08eb4cbe3207a2f37f40c664160e33a"
wip: Limits and resellers
* refactoring, limits are working pretty well
* domain admins can now create domains (under control) when the limits extension is enabled
see #105
<!-- gh-comment-id:29813642 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-01-28T10:55:18Z** In [6c295c70e08eb4cbe3207a2f37f40c664160e33a]: <pre> #!CommitTicketReference repository="" revision="6c295c70e08eb4cbe3207a2f37f40c664160e33a" wip: Limits and resellers * refactoring, limits are working pretty well * domain admins can now create domains (under control) when the limits extension is enabled see #105 </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-01-28T10:55:22Z

In [5976f4bffff6f8a34bb63968e1c16d35a0e5d376]:

#!CommitTicketReference repository="" revision="5976f4bffff6f8a34bb63968e1c16d35a0e5d376"
wip: Resellers and limits
* We now make a difference between users that own a specific object and users that have access to a specific object
* Limits are not moved anymore (from one reseller to a domain admin) when we grant access to a domain
see #105
<!-- gh-comment-id:29813643 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-01-28T10:55:22Z** In [5976f4bffff6f8a34bb63968e1c16d35a0e5d376]: <pre> #!CommitTicketReference repository="" revision="5976f4bffff6f8a34bb63968e1c16d35a0e5d376" wip: Resellers and limits * We now make a difference between users that own a specific object and users that have access to a specific object * Limits are not moved anymore (from one reseller to a domain admin) when we grant access to a domain see #105 </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-01-28T10:55:26Z

In [e7b80734cb2095e573a0823c425605401d38e1a2]:

#!CommitTicketReference repository="" revision="e7b80734cb2095e573a0823c425605401d38e1a2"
wip: Resellers and limits (see #105)
* Added support for migrations
* Big refactoring of the admin code
done: Support for SHA256 algorithm to store passwords (fix #195)
done: admin models refactoring (fix #196)
<!-- gh-comment-id:29813644 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-01-28T10:55:26Z** In [e7b80734cb2095e573a0823c425605401d38e1a2]: <pre> #!CommitTicketReference repository="" revision="e7b80734cb2095e573a0823c425605401d38e1a2" wip: Resellers and limits (see #105) * Added support for migrations * Big refactoring of the admin code done: Support for SHA256 algorithm to store passwords (fix #195) done: admin models refactoring (fix #196) </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-01-30T16:54:23Z

In [1040b0b7ca4e20955faebbeb525c32a4772411e8]:

#!CommitTicketReference repository="" revision="1040b0b7ca4e20955faebbeb525c32a4772411e8"
wip: Resellers and limits
Take care with proxy models and content types :p
(https://code.djangoproject.com/ticket/11154)
see #105
<!-- gh-comment-id:29813645 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-01-30T16:54:23Z** In [1040b0b7ca4e20955faebbeb525c32a4772411e8]: <pre> #!CommitTicketReference repository="" revision="1040b0b7ca4e20955faebbeb525c32a4772411e8" wip: Resellers and limits Take care with proxy models and content types :p (https://code.djangoproject.com/ticket/11154) see #105 </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-01-31T14:46:18Z

In [aabd97710b770b2e761019518e96981dce33ae11]:

#!CommitTicketReference repository="" revision="aabd97710b770b2e761019518e96981dce33ae11"
* Fixed bad parameter name (see #196)
* Added missing migration to set the right permissions for existing users on existing domains (see #105)
<!-- gh-comment-id:29813648 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-01-31T14:46:18Z** In [aabd97710b770b2e761019518e96981dce33ae11]: <pre> #!CommitTicketReference repository="" revision="aabd97710b770b2e761019518e96981dce33ae11" * Fixed bad parameter name (see #196) * Added missing migration to set the right permissions for existing users on existing domains (see #105) </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-01-31T16:09:17Z

In [8e6951c045bd0fe1e496cc75816c3b60ab8e0733]:

#!CommitTicketReference repository="" revision="8e6951c045bd0fe1e496cc75816c3b60ab8e0733"
* Fixed broken unit tests (see #196)
* No more fixtures for the 'limits' extension (were causing problems when running tests) (see #105)
<!-- gh-comment-id:29813649 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-01-31T16:09:17Z** In [8e6951c045bd0fe1e496cc75816c3b60ab8e0733]: <pre> #!CommitTicketReference repository="" revision="8e6951c045bd0fe1e496cc75816c3b60ab8e0733" * Fixed broken unit tests (see #196) * No more fixtures for the 'limits' extension (were causing problems when running tests) (see #105) </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-02-01T11:59:03Z

In [10b62fe25f10d9a0fcd7d2cc998a66694b69b5f3]:

#!CommitTicketReference repository="" revision="10b62fe25f10d9a0fcd7d2cc998a66694b69b5f3"
Size elements must be integers.
see #105
<!-- gh-comment-id:29813651 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-02-01T11:59:03Z** In [10b62fe25f10d9a0fcd7d2cc998a66694b69b5f3]: <pre> #!CommitTicketReference repository="" revision="10b62fe25f10d9a0fcd7d2cc998a66694b69b5f3" Size elements must be integers. see #105 </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-02-01T16:45:47Z

In [a08155e7eea7d0f6a08b18296c3dd70d98fed974]:

#!CommitTicketReference repository="" revision="a08155e7eea7d0f6a08b18296c3dd70d98fed974"
wip: Resellers and limits
* A new limit has been added : the maximum number of domain admins a user can create
* Code simplification
see #105
<!-- gh-comment-id:29813653 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-02-01T16:45:47Z** In [a08155e7eea7d0f6a08b18296c3dd70d98fed974]: <pre> #!CommitTicketReference repository="" revision="a08155e7eea7d0f6a08b18296c3dd70d98fed974" wip: Resellers and limits * A new limit has been added : the maximum number of domain admins a user can create * Code simplification see #105 </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-02-01T16:47:03Z

In [7ad6ffeb9e1c24f930b491e2b735669ef906eb71]:

#!CommitTicketReference repository="" revision="7ad6ffeb9e1c24f930b491e2b735669ef906eb71"
Avoid callbacks duplication.
see #105
<!-- gh-comment-id:29813654 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-02-01T16:47:03Z** In [7ad6ffeb9e1c24f930b491e2b735669ef906eb71]: <pre> #!CommitTicketReference repository="" revision="7ad6ffeb9e1c24f930b491e2b735669ef906eb71" Avoid callbacks duplication. see #105 </pre>
Author
Owner

@tonioo commented on GitHub (Dec 4, 2013):

Posted by Redmine Admin on 2012-02-21T16:49:50Z

In [ec7728988e99d1d203ae2400fe34c4487354b9f3]:

#!CommitTicketReference repository="" revision="ec7728988e99d1d203ae2400fe34c4487354b9f3"
Misc. fixes
see #105
<!-- gh-comment-id:29813655 --> @tonioo commented on GitHub (Dec 4, 2013): **Posted by Redmine Admin on 2012-02-21T16:49:50Z** In [ec7728988e99d1d203ae2400fe34c4487354b9f3]: <pre> #!CommitTicketReference repository="" revision="ec7728988e99d1d203ae2400fe34c4487354b9f3" Misc. fixes see #105 </pre>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/modoboa-modoboa#100
No description provided.