Re: CustomerMan redesign
Cory Petkovsek <cory-jQzc/[email protected]>
| Newsgroups | gmane.comp.isp.ispman.devel |
|---|---|
| Message-ID | <[email protected]> |
The requirements and specs where in the last email. Here is a draft design.
Again, please point out any problems. I'm also posting this in cvs under
docs/devel.
----------------
Design
------
- CustomerMan does not provide any functions for other modules, thus does not
need it's own package. Functions used throughout ispman should be in the
ispman library (ie /lib and in the package). CustomerMan should therefore
utilize this library as much as possible.
Templates in cgi-bin/tmpl/customerMan/*.tmpl have all non-data output
CGI: htdocs/control_panel/index.cgi
Support functions: lib/*
User connects control_panel/index.cgi:
[5] A counter is retreived from /tmp/ispman-sessions.
If it is >=100 expired session files /tmp/ispman-session-* are removed.
[10] System checks for an authorized session id in a cookie upon each page
access.
If the session is valid, commands are carried out [15].
Else is the user logging in? [20].
Else the login screen is shown from template.
Script exits.
[20] The supplied domain and password are verified against the ldap tree.
If the credentials are valid
A random number is generated.
The connecting ip address is retreived.
The date, ip and domain are written to /tmp/ispman-session-########
where # is the random number.
The number is given back to the browser in a 1 hour cookie.
Browser is forwarded to the script again.
Return.
Else a templated error message is displayed.
Return.
[15]
What are the category and command requested? (One indent is category, two
indents is action, three indents if any are pseudo code. Each action returns.
All data is stored in ldap tree.)
default
Show templated summary screen[50].
Return.
Misc
Logout
/tmp/ispman-session-######## is removed.
Cookie is removed from client.
Browser is forwarded to the script again.
Return.
Domain Accounts (email/ftp)
Add account
Modify name, password, (email*)
Delete account
Add/Modify/Delete alias
Add/Modify/Delete forward
Lists
Add/Delete list
Modify list members
VHosts
Add/Delete vhost
Modify permission settings
Add/Modify/Delete web alias
Add/Modify/Delete web redirect
Add/Modify/Delete web access accounts
Add/Modify/Delete web access control lists
Access Log files
Domain signature (does this actually work, currently?)
Add/Modify/Delete signature
DNS
Add/Modify/Delete NS/MX/A/CNAME/other? records
[50] Overview information:
Server statistics: perl/php, versions and paths
quotas: Number of email accounts, web users, vhosts, amount of space
Web statistics: webalizer/awstats
----
* Email: In another release, modification of email address and moving of
underlying files should be supported.
----------------
Cory
--
Cory Petkovsek Adapting Information
Adaptable IT Consulting Technology to Your
(858) 705-1655 Business
cory-p3//[email protected] www.AdaptableIT.com
-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com