CHANGELOG.TXT 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987
  1. # Postfix Admin
  2. #
  3. # LICENSE
  4. # This source file is subject to the GPL license that is bundled with
  5. # this package in the file LICENSE.TXT.
  6. #
  7. # Further details on the project are available at http://postfixadmin.sf.net
  8. #
  9. # Last update:
  10. # $Id: CHANGELOG.TXT 1801 2015-09-26 13:11:20Z christian_boltz $
  11. Version 3.0 beta3 (2.93) - 2015/09/26 - SVN r1802
  12. -------------------------------------------------
  13. Summary of major changes:
  14. - add list.php and list.tpl for displaying lists
  15. - based on *Handler $struct, which means list view can now be customized with
  16. $CONF[*_struct_hook] functions (columns with display_in_list and non-empty
  17. label will be displayed)
  18. - add CSV export
  19. - replaces list-domain.php, list-admin.php and fetchmail.php (including their
  20. *.tpl files) and the alias and alias domain lists in list-virtual
  21. - improved / more detailed search support by using URL parameters
  22. (list.php?search[field]=value, optionally also ?searchmode[field]=< -
  23. no pretty search form yet, limited to fields the user/admin can access)
  24. - only display search input box if search fields are specified in *handler
  25. (that effectively means no search box for admin, domain and fetchmail listings)
  26. - can also be used for users (non-admins)
  27. - add FetchmailHandler (replaces fetchmail.php and its template), which also
  28. means postfixadmin-cli can configure fetchmail jobs now
  29. - add $CONF['fetchmail_struct_hook']
  30. - remove unused $CONF['users_domain_controle']
  31. PFAHandler:
  32. - new field types:
  33. - enma - associative array (value => displayed value), must be specified in
  34. the "options" column
  35. - html - raw HTML, used for mailbox status markers which include HTML tags
  36. - b64p - passwords stored as base64, used by FetchmailHandler
  37. - vtxt, vnum - "virtual", read-only text/integer
  38. - quot - formatted quota ("5/10", read-only)
  39. - automatically skip quot, vtxt and vnum fields in store()
  40. - add handling of users (non-admins), including permission checks
  41. - add and use $this->label_field and $this->label for nicer messages
  42. - add $this->order_by to allow ordering by any field(s)
  43. - add getMsg() function (needed by list.php)
  44. - add $msg['can_create'] (true by default, false will hide the 'create' button)
  45. - add $is_superadmin to make admin vs. superadmin easier to handle
  46. - add $can_edit and $can_delete (only available in edit/delete mode, set by
  47. init() based on the '_can_edit' and '_can_delete' from database query)
  48. - add $searchfields[] (list of fields to search by default, $search[_])
  49. - add $this->msg['show_simple_search'] (true if $searchfields is non-empty)
  50. - split off build_select_query() (also used for pagebrowser) from read_from_db()
  51. and add support for $search['_'] (searching in $searchfields[])
  52. - read_from_db(), getList(): add $searchmode parameter (_before_ $limit and
  53. $offset!) to be able to use query different query modes, not only "="
  54. - add getPagebrowser() (returns an array of pagebrowser keys)
  55. AdminHandler:
  56. - switch to using list.php (replaces list-admin.php)
  57. DomainHandler:
  58. - reduce required permissions to 'admin', restrict write operations to superadmins
  59. - add optical quota indicators for aliases, mailboxes and domain quota
  60. - fix counting of aliases for domains without any mailbox
  61. - use list.php for displaying domain list (replaces list-domain.php)
  62. MailboxHandler:
  63. - check_quota(): deny creating an unlimited mailbox if domain quota is set
  64. - storemore(): store maildir in the correct variable to fix running
  65. mailbox_postedit script (bug#342)
  66. AliasHandler:
  67. - read_from_db_postprocess(): disable _can_edit and _can_delete for default
  68. aliases if special_alias_control is off and not superadmin
  69. - add 'status' column, move gen_show_status handling for aliases from
  70. list-virtual into AliasHandler db_read_from_db_potprocess()
  71. - change getList() to work with empty $condition
  72. - add getPagebrowser() to filter out mailboxes
  73. edit.php:
  74. - Newer PHP versions (noticed with 5.6.6) don't include empty fields in
  75. $_POST, which broke changing a field to empty. Make sure all !isset()
  76. fields are set to ''.
  77. - for not-set bool values, set $values instead of the (wrong) $inp_values
  78. - add user (non-admin) mode
  79. delete.php:
  80. - allow users (non-admins) to use delete.php (not used in PostfixAdmin yet)
  81. list-virtual:
  82. - use AliasHandler, AliasdomainHandler and list.tpl for aliases and alias
  83. domains (the mailbox list still uses the old code)
  84. - replace $alias_pagebrowser_query and the create_page_browser() call
  85. with $handler->getPagebrowser()
  86. - adjust search to use ?search[_]=...
  87. - drop $check_alias_owner variable and check_alias_owner() call
  88. (replaced by the code added in AliasHandler)
  89. misc:
  90. - translation updates: cs (patch#126), pl (by marcin-github), sv (patch#128)
  91. - add CliScheme.php to display the database scheme (for usage in upgrade.php)
  92. - error_log() a warning if nameserver queries in check_domain() take more than 2
  93. seconds in total
  94. - add functions db_quota_text() and db_quota_percent() to generate SQL queries
  95. for used quota ("x/y" and percentage)
  96. - pacol(): replace $not_in_db with $multiopt - the remaining parameters can be
  97. specified as associative array (backwards-compatible). Also add $linkto parameter
  98. - db_where_clause(): add $additional_raw_where and $searchmode parameters,
  99. split query into WHERE and HAVING
  100. - delete no longer used check_alias_owner() function
  101. - display "view log" menu entry only if logging is enabled (patch#127)
  102. - smarty.inc.php assign(): additionally provide the unsanitized values as RAW_$key
  103. - setup.php: after creating a superadmin, display a note that the setup is done
  104. and it's possible to login now
  105. - setup.php: stop relying on subversion keyword for database upgrades
  106. - explictly set session_cache_limiter to nocache (bug#347)
  107. - fetchmail.pl: honor the (newly added) active column
  108. - change fetchmail.date field to date (no auto-update) (bug#351)
  109. - several small changes and fixes at various places - too many to list them here
  110. Version 3.0 beta2 (2.92) - 2014/10/28 - SVN r1706
  111. -------------------------------------------------
  112. - AliasHandler: don't clean goto field when making alias inactive (bug#316)
  113. - list-virtual: display quota even if $CONF[used_quotas] == NO (bug#307)
  114. - vacation.pl: fix postgresql queries in vacation.pl (bug#315)
  115. - fix query in AliasHandler getList() which caused an empty list and breaks
  116. deletion of aliases in MariaDB (bug#313, bug#325)
  117. - fetchmail.pl: fix ssl extra options (cert check, cert path, fingerprint)
  118. - fix logging (run setup.php to fix old log entries) (bug#317)
  119. - fetchmail.php: change error_reporting() to exclude E_NOTICE (bug#322)
  120. - translation updates: fr (patch#123), nl (patch#122)
  121. - $CONF[default_aliases] can now use the new domain as alias target (patch#124)
  122. - check that vacation start/end date are not in the past (patch#122)
  123. - update vacation INSTALL.TXT with more secure locations
  124. - update Smarty to 3.1.21
  125. Version 3.0 beta1 (2.91) - 2014/05/06 - SVN r1670
  126. -------------------------------------------------
  127. Summary of major changes:
  128. - new command-line interface "postfixadmin-cli"
  129. - major rewrite:
  130. - move lots of code into *Handler classes, which are used by web and
  131. command-line interface
  132. - replace various edit-*.php and create-*.php with a generic editform
  133. (edit.php/editform.tpl)
  134. - this also means it's easy to customize forms, add fields etc.
  135. (see $CONF['*_struct_hook'])
  136. - lots of code cleanup, remove/merge lots of duplicated code and templates
  137. - use smarty for templates
  138. - add ability to choose activation date, end date and reply interval for
  139. vacation message
  140. - various enhancements everywhere
  141. - redesign login page, list and edit pages (goodbye, green!) and make them wider
  142. - several new config options and changed defaults
  143. - NOTE: changes from the 2.3.x releases also apply to this version
  144. new config options:
  145. - $CONF['language_hook']
  146. Hook function to override or add translations to $PALANG.
  147. Example hook function included (commented out).
  148. - $CONF['password_validation'] - array with regular expressions to check
  149. if a password is valid/good enough.
  150. The default configuration enforces:
  151. - minimum length 5 characters/digits/whatever
  152. - at least 2 characters
  153. - at least 2 digits
  154. - $CONF['*_struct_hook'] - make $struct in the *Handler classes customizeable
  155. - $CONF['vacation_choice_of_reply'] - list of reply interval options
  156. - $CONF['domain_quota'] - total quota per domain
  157. - $CONF['theme_custom_css'] - to add some custom CSS without editing the
  158. default CSS file
  159. - $CONF['motd_*'] - replaces motd*.txt
  160. changed config defaults (with their new default value):
  161. - $CONF['database_type'] = 'mysqli';
  162. - $CONF['dovecotpw'] = "/usr/sbin/doveadm pw";
  163. $CONF['new_quota_table'] = 'YES'; (for dovecot 2)
  164. - $CONF['domain_path'] = 'YES'; $CONF['domain_in_mailbox'] = 'NO';
  165. (results in domain.tld/username/ maildirs)
  166. - $CONF['alias_control'] = 'YES'; $CONF['alias_control_admin'] = 'YES';
  167. - $CONF['backup'] = 'NO';
  168. - $CONF['show_status']='YES'; $CONF['show_status_key']='YES';
  169. $CONF['show_undeliverable']='YES'; $CONF['show_popimap']='YES';
  170. $CONF['show_undeliverable_exceptions'] - "gmail.com" removed
  171. - $CONF[*_post*_script] - add empty defaults
  172. - $CONF['admin_email'] = ''
  173. IMPORTANT: If set, this will be used as mail sender for all mails
  174. (2.3.x used the currently logged in admin's username in most cases).
  175. $CONF['admin_email'] = '' will match the 2.3.x behaviour.
  176. removed config options:
  177. - $CONF['min_password_length'] - now handled in /.{5}/ in
  178. $CONF['password_validation']
  179. - $CONF['postfix_admin_url'] - relative paths are now used everywhere
  180. list-virtual.php:
  181. - display percentage of quota usage
  182. - display alias domains less confusing (using From/To)
  183. - list-virtual can now display only mailboxes, only aliases or only alias
  184. domains - or all in one page as in 2.3
  185. - extreme speedup of page browser in list-virtual if a large number of
  186. mailboxes or aliases exist
  187. - include search support (replaces search.php and brings various bug fixes
  188. for free)
  189. - fix: delivery to mailbox with a recipient delimiter (mailbox+foo@domain)
  190. was marked as "forward only"
  191. - fix: don't mark mailboxes with vacation active as undeliverable
  192. - fix: undeliverable targets were not flagged if another target pointed to a
  193. domain in $CONF[show_undeliverable_exceptions]
  194. fetchmail.php, fetchmail.pl:
  195. - add sslcertck, sslcertpath, sslfingerprint fields/check
  196. (sslcertpath and sslfingerprint require $CONF[fetchmail_extra_options]
  197. because they don't have input validation)
  198. functions.inc.php
  199. - allowed_quota: if $CONF[quota] == NO, just return 0 (unlimited)
  200. - authentification_get_username() - honor POSTFIXADMIN_SETUP to avoid
  201. a redirect to login.php after creating an admin with setup.php and to
  202. get "SETUP.PHP" for db_log()
  203. - check_domain(), check_email(): instead of calling flash_error(),
  204. return string with error message - or empty string if everything is ok
  205. - check_email():
  206. - replace $CONF[vacation_domain] only at the end of the mail address
  207. - don't trim() mail address to avoid that aliases starting with a space are
  208. allowed. This fixes http://sourceforge.net/p/postfixadmin/bugs/210/
  209. - check_language(): remove things like ";q=0.8" before checking if
  210. a language exists
  211. - check_owner():
  212. - escape_string() $username and $domain to prevent SQL injections
  213. - db_pgsql() - new function to replace lots of
  214. "if ($CONF[database_type] == 'pgsql')) checks
  215. - db_delete(): allow to specify additional conditions for the WHERE clause
  216. - db_get_boolean(): allow 0 and 1 as parameters, not only boolean true/false
  217. - db_log():
  218. - allow log actions create_admin and edit_admin
  219. - add edit_admin_state and delete_admin as comment/reminder that they
  220. should also be logged
  221. - db_query(): error_log() failed query
  222. - db_where_clause($condition, $struct) - new function to create a WHERE clause
  223. (bool values are converted with db_get_boolean() based on $struct)
  224. - _flash_string():
  225. - also accept an array of messages, not only a string
  226. - html-escape messages to fix XSS if the message contains user-supplied input
  227. - generate_password(): make generated password always 8 chars long
  228. (instead of $CONF['min_password_length'])
  229. - get_domain_properties(): use DomainHandler (function result mostly
  230. unchanged, only difference: instead of quota_sum in bytes it now
  231. returns total_quota in MB)
  232. - list_domains_for_admin():
  233. - rewrite to work for superadmins also (will list all domains now
  234. instead of "ALL"), which means we can drop the admin vs. superadmin
  235. check at various places
  236. - pacrypt():
  237. - no longer escape_string() the result. This fixes
  238. http://sourceforge.net/p/postfixadmin/bugs/218/
  239. - for 'system' encryption, use full hashed password as salt
  240. https://sourceforge.net/p/postfixadmin/bugs/2/
  241. - dovecot:*:
  242. - add support for dovecot *-CRYPT passwords (needs dovecot >= 2.1)
  243. - allow "." in dovecot method (to allow a suffix like ".b64")
  244. - Also, the {METHOD} part is no longer removed (passwords without
  245. {METHOD} still work)
  246. - remove_from_array() - new function
  247. - safesession() - new function (like safeget(), but for $_SESSION)
  248. - smtp_mail(): error_log() the error message if fsockopen() fails
  249. - table_by_key() now always prepends $CONF['database_prefix']
  250. NOTE: If you have/had an incomplete database_tables array and use
  251. $CONF['database_prefix'], you might need to rename the affected tables
  252. manually (add the database_prefix in their name).
  253. - moved several functions to the *Handler classes
  254. - deleted no longer used functions:
  255. - admin_exist()
  256. - authentication_is_admin()
  257. - authentication_is_user()
  258. - boolconf() (moved to Config::bool())
  259. - check_string()
  260. - create_admin()
  261. - check_alias() (moved to AliasHandler->create_allowed())
  262. - db_boolean_to_int()
  263. - domain_exist()
  264. - get_admin_properties()
  265. - get_mailbox_properties()
  266. - get rid of global $table_* variables, use table_by_key() instead
  267. PFAHandler.php:
  268. - parent class for all *Handler classes
  269. - contains code shared between all classes
  270. AdminHandler.php:
  271. - Handler class for admins
  272. - for now, set the superadmin column and add "ALL" in domain_admins to
  273. keep the database backwards-compatible with 2.3.x
  274. AdminpasswordHandler.php:
  275. - used for the "change password" form for admins
  276. DomainHandler.php
  277. - handler class for domains
  278. - delete(): do not allow to delete a domain if it is an alias domain target
  279. AliasdomainHandler.php:
  280. - handler class for alias domains
  281. - alias domains can now be edited
  282. AliasHandler.php:
  283. - rewrite based on PFAHandler
  284. - we even get a "deliver to local mailbox" checkbox :-)
  285. - only allow @domain as target if $this->id is a catchall
  286. - remove deprecated functions:
  287. - get()
  288. - hasStoreAndForward()
  289. - update()
  290. - is_mailbox_alias()
  291. - is_vacation_address()
  292. - hasAliasRecord()
  293. MailboxHandler (previously named UserHandler in 2.3):
  294. - rewrite based on PFAHandler
  295. - drop old __construct(), view() and change_pass()
  296. - replace check of old password in change_pw() with $this->login
  297. - delete(): also cleanup fetchmail, quota and quota2 tables
  298. - always check password with validate_password()
  299. - always display correct available quota (using allowed_quota())
  300. - do not escape the password coming from $_POST. Fixes
  301. http://sourceforge.net/p/postfixadmin/bugs/218/
  302. VacationHandler:
  303. - rewrite based on PFAHandler (not useable yet)
  304. - add ability to choose activation date, end date and reply interval for
  305. vacation message - http://sourceforge.net/p/postfixadmin/patches/111/
  306. vacation.pl:
  307. - allow to use original subject in vacation reply subject ("Re: $SUBJECT")
  308. http://sourceforge.net/p/postfixadmin/patches/117/
  309. - encode subject - https://sourceforge.net/p/postfixadmin/bugs/272/ ,
  310. https://sourceforge.net/p/postfixadmin/patches/119/
  311. - add a friendly from address to vacation messages ($friendly_from)
  312. - make error handling if we cannot send the reply more robust
  313. - add $smtp_client config option to specify the helo name
  314. - added custom noreply detection ($noreply_pattern, $custom_noreply_pattern)
  315. Config.php
  316. - new class to store $CONF
  317. - also used to store $PALANG texts (Config::Lang())
  318. - contains functions to read config entries in various ways (bool etc.)
  319. edit.php
  320. - generic edit page for everything (admins, domains, mailboxes, aliases, ...)
  321. - use ?table= parameter to decide what will be edited (basically $tableHandler)
  322. - read handler-specific configuration from $handler->webformConfig()
  323. and use it at various places
  324. - always redirect to edit.php?table=$table after adding an item to
  325. ensure correct initialization for next item
  326. - call $handler->mergeId if $id_field is editable, but not displayed
  327. in form (usecase: merge localpart + domain to address)
  328. - set $form_fields and $id_field later (after $hander->init()) - needed
  329. for AliasHandler to decide if goto_mailbox should be displayed
  330. - only set $values if a field is editable and displayed in the form
  331. editform.tpl:
  332. - generic edit form template, uses $struct to render the form
  333. - implement handling of 'list' fields (<select> with multiple choices
  334. allowed)
  335. - also include alternative implementation with checkboxes (commented out)
  336. upgrade.php
  337. - _pgsql_field_exists(), _mysql_field_exists():
  338. Those functions are always called with the expanded table name - don't
  339. expand it twice. (The better solution would be to change all calling
  340. code to provide non-expanded tablenames, but that's more work.)
  341. - change {BIGINT} to include "NOT NULL DEFAULT 0"
  342. - upgrade_1283(): add a "superadmin" column to the admin table
  343. This is the first step to get rid of the "ALL" dummy domain.
  344. - upgrade_1284(): migrate the ALL domain to the superadmin column
  345. Note: The ALL domain is not (yet) deleted to stay backwards-compatible
  346. for now (will be done in a later upgrade function)
  347. - change {BOOLEAN} to include "default false"
  348. login.php
  349. - when login.php is requested, logout the current admin/user
  350. https://sourceforge.net/p/postfixadmin/bugs/284/
  351. - this also means login.php is now used for logout
  352. - error_log() failed login attemps
  353. https://sourceforge.net/p/postfixadmin/feature-requests/111/
  354. delete.php, editactive.php:
  355. - require token for CSRF protection, see
  356. https://sourceforge.net/p/postfixadmin/bugs/269/
  357. xmlrpc.php:
  358. - adopt to *Handler syntax
  359. - setAway(): add (optional) new parameters for interval_time, activeFrom and
  360. activeUntil - https://sourceforge.net/p/postfixadmin/patches/113/
  361. - change $_SESSION['username'] to $_SESSION['sessid']['username']
  362. *.lang:
  363. - get rid of several duplicate texts
  364. - removed HTML tags from $PALANG texts
  365. - several translation updates
  366. documentation updates:
  367. - SECURITY.TXT: add note about templates_c directory
  368. - DOCUMENTS/POSTFIX_CONF.TXT is now executable and can generate the
  369. mysql_*.cf maps for postfix
  370. - update DOCUMENTS/DOVECOT.TXT for dovecot 2.x
  371. squirrelmail plugin:
  372. - various bugfixes
  373. - documentation update
  374. Debian packaging:
  375. - Changed source format to 3.0 (quilt)
  376. - simplified the DB credential patch and removing ucf registrations on package
  377. purge...
  378. - control: added php5-cli dependency
  379. - rules:
  380. - some permission fixes to postfixadmin-cli scripts
  381. - New target prep: Create a needed tar.gz file to build a non-nativ .dpkg
  382. - New target build-package: Call this target to build a shiny new .dpkg file
  383. - postfixadmin.docs: removed redundant changelog file
  384. - debian/postfixadmin.postrm: Call wwwconfig scripts only if they are existing
  385. Version 2.3.7 - 2014/02/20 - SVN r1651 (postfixadmin-2.3 branch)
  386. ----------------------------------------------------------------
  387. - SECURITY: fix SQL injection in show_gen_status()
  388. - lt.lang, da.lang translation update
  389. - when enabling/disabling a mailbox, also update the corresponding alias
  390. - fix creating superadmin in setup.php with MariaDB (more strict SQL)
  391. - don't trim() mail address to avoid that aliases starting with a space are
  392. allowed. This fixes http://sourceforge.net/p/postfixadmin/bugs/210/ and
  393. https://sourceforge.net/p/postfixadmin/feature-requests/113/
  394. - update regex in check_domain() to support new, longer TLDs like .international
  395. - mark vacation_notification.notified field as latin1 to avoid overlong index
  396. - vacation.pl: encode subject
  397. - vacation.pl: disable use of TLS by default due to a bug in Mail::Sender 0.8.22
  398. (you can re-enable it with $smtp_tls_allowed)
  399. Version 2.3.6 - 2013/01/02 - SVN r1417 (postfixadmin-2.3 branch)
  400. ----------------------------------------------------------------
  401. - display domain and mailbox description with correct encoding
  402. - fix footer link
  403. - focus username input field in login form
  404. - fix double inclusion of config.inc.php in setup.php
  405. - fix bool and date handling in fetchmail
  406. Version 2.3.5 - 2012/01/16 - SVN r1335 (postfixadmin-2.3 branch)
  407. ----------------------------------------------------------------
  408. - fix SQL injection in pacrypt() (if $CONF[encrypt] == 'mysql_encrypt')
  409. - fix SQL injection in backup.php - the dump was not mysql_escape()d,
  410. therefore users could inject SQL (for example in the vacation message)
  411. which will be executed when restoring the database dump.
  412. WARNING: database dumps created with backup.php from 2.3.4 or older might
  413. contain malicious SQL. Double-check before using them!
  414. - fix XSS with $_GET[domain] in templates/menu.php and edit-vacation
  415. - fix XSS in some create-domain input fields
  416. - fix XSS in create-alias and edit-alias error message
  417. - fix XSS (by values stored in the database) in fetchmail list view,
  418. list-domain and list-virtual
  419. - create-domain: fix SQL injection (only exploitable by superadmins)
  420. - add missing $LANG['pAdminDelete_admin_error']
  421. - don't mark mailbox targets with recipient delimiter as "forward only"
  422. - wrap hex2bin with function_exists() - PHP 5.3.8 has it as native function
  423. Version 2.3.4 - 2011/09/16 - SVN r1180 (postfixadmin-2.3 branch)
  424. ----------------------------------------------------------------
  425. - generate more secure random passwords
  426. - squirrelmail plugin: fix typo in variable name
  427. - list-domain: fix SELECT query to work with PgSQL even when using custom fields
  428. - create-domain: force domain name to lowercase to avoid problems with PgSQL
  429. foreign keys
  430. - fix vacation.pl to log to "mail" syslog facility
  431. - error_log() dovecotpw error messages
  432. Version 2.3.3 - 2011/03/14 - SVN r1010 (postfixadmin-2.3 branch)
  433. ----------------------------------------------------------------
  434. - create-alias: allow multiple alias targets
  435. - create-alias, edit-alias: prevent input data loss on validation errors
  436. - list-virtual: fix displaying of 'modified' column for aliases when using
  437. postgres
  438. - replaced deprecated split() with preg_split() or explode()
  439. - functions.inc.php: better error messages when database functions are missing
  440. - create domain: fixed typo in variable name that broke the default value for
  441. default aliases
  442. - postgres: changed mailbox.quota, domain.quota and domain.maxquota fields
  443. to bigint to allow mailboxes >4 GB (run setup.php to upgrade your database)
  444. - vacation.pl logged literal $variable instead of the variable content at two
  445. places
  446. - edit-vacation: log enabling/disabling vacation if done by admins
  447. - POSTFIX_CONF.txt: fixed filename for quota map
  448. - config.inc.php: removed double $CONF['database_prefix']
  449. - config.inc.php: fixed comments about domain_post* script parameters
  450. - updated INSTALL.TXT and UPGRADE.TXT
  451. - sk translation update
  452. - some more minor fixes
  453. Version 2.3.2 - 2010/08/24 - SVN r860 (postfixadmin-2.3 branch)
  454. ---------------------------------------------------------------
  455. - SUMMARY: PostfixAdmin 2.3.2 is a bugfix-only release for Postfix Admin 2.3.1
  456. - SECURITY: attackers could find out if a admin exists (login pre-filled the
  457. username after "only" a wrong password was entered)
  458. - SECURITY: fix sql injection in list-domain (only exploitable by superadmins)
  459. - alias targets in users/edit-alias are now validated
  460. - invalid alias targets in users/edit-alias are shown to the user again
  461. instead of dropping them
  462. - fix dovecot:* password encryption (was broken in 2.3.1)
  463. - fix displaying used quota for dovecot <= 1.1 (was broken in 2.3.1)
  464. - when deleting a domain that is an alias domain (on the "from" side), the
  465. alias domain is deleted
  466. Version 2.3.1 - 2010/07/09 - SVN r847 (postfixadmin-2.3 branch)
  467. ---------------------------------------------------------------
  468. - SUMMARY: PostfixAdmin 2.3.1 is a bugfix-only release for Postfix Admin 2.3.
  469. The only visible change is displaying the alias target for mailboxes which
  470. was a longstanding issue/"missing feature".
  471. The ADDITIONS directory contains some new scripts.
  472. - SECURITY: users could bypass checking the old password when changing the
  473. password by entering a too short new password. Fortunately only
  474. "exploitable" by authentificated users.
  475. - merge in changes to /debain (thanks normes) from trunk
  476. - display alias targets for mailboxes (if $CONF['special_alias_control'] = YES)
  477. - add hook for custom maildir path generation
  478. - add import_users_from_csv.py script (by Simone Piccardi)
  479. - add mailbox_post* scripts for cyrus
  480. - handle dovecot passwords without any tempfile (prevents safe_mode issues)
  481. - fix MySQL 6.0 compatibility
  482. - fix quota display (for dovecot >= 1.2)
  483. - fix short open tags ("<?")
  484. - translation updates and fixes
  485. - documentation updates and fixes
  486. - document commandline parameters for $CONF[*_script] options in config.inc.php
  487. - list-virtual: added error message if the check_owner query returns more
  488. than one result (can happen with pre-2.3 databases and prevents access for
  489. superadmins)
  490. - add in_array() check to avoid that superadmins can enter invalid domains
  491. - fix delete link for alias domains (when on target domain)
  492. - delete values from quota and quota2 table when deleting a mailbox
  493. - fix hardcoded table names in list-domain.php
  494. - fixed edit-alias.php not to drop alias to the mailbox if
  495. special_alias_control = NO
  496. - fix alias handling for mailboxes (special_alias_control vs.
  497. alias_control_admin confusion)
  498. - fix typo in upgrade.php that broke index creation and deletion when using
  499. non-default table names
  500. - fix creating 'ALL' domain (dummy for superadmins) when using non-default
  501. table names
  502. - fix: db_query did not return number of SELECTed rows if query starts with
  503. with whitespace
  504. - check for $CONF['encrypt'] = 'dovecot:md5-crypt' (postfixadmin login not
  505. working because dovecotpw uses a new salt each time), recommend
  506. internal md5crypt instead
  507. - replaced terribly outdated, broken squirrelmail plugin with a fresh version.
  508. Note: The new plugin version requires the Zend framework.
  509. Version 2.3 - 2009/10/24 - SVN r739
  510. -----------------------------------
  511. - automatically create quota tables for dovecot (both 1.0/1.1 and >= 1.2)
  512. - list-virtual can now handle both table formats
  513. - fixed upgrade.php for MySQL 6.0 compability
  514. - changed vacation.pl syslog facility from "user" to "mail"
  515. - added config option for postregsql database port
  516. - added config option to enable/disable XMLRPC interface (default: off)
  517. - Fix check/query for alias with enabled vacation in vacation.pl
  518. - Fix db_get_boolean() to return t/f for postgresql, not true/false
  519. - Fix missing quoting for boolean values in SQL queries at various places
  520. - Allow SHA courier-authlib passwords
  521. - various small bug fixes
  522. - fixed SVN revision for 2.3rc7 in changelog (was r691, should be r694)
  523. Version 2.3rc7 - 2009/07/27 - SVN r694
  524. --------------------------------------
  525. - Fix bug with confd-link.sh debian thing (breakage on Lenny with wwwconfig-common 0.1.2)
  526. - Fix crypt() issue (see https://sourceforge.net/tracker/?func=detail&aid=2814820&group_id=191583&atid=937964 )
  527. Version 2.3rc6 - 2009/07/20 - SVN r689
  528. --------------------------------------
  529. - Updates to vacation.pl
  530. - PHP 5.3 compatibility
  531. - Easier dependencies for .debs - should work on Lenny/Ubuntu etc without issue now.
  532. Version 2.3rc5 - 2009/05/20 - SVN r658
  533. --------------------------------------
  534. - Improvements to the setup process
  535. - Far better Debian packaging (we hope!) which should make installation much, much easier.
  536. - Various bug fixes
  537. - Performance enhancements (or we fixed the regressions ...) in domain listing etc.
  538. Version 2.3rc4 - 2009/04/18 - SVN r632
  539. --------------------------------------
  540. - *Security fix* - on upgrade setup.php is restored; allowing a malicious
  541. user to create their own superadmin account. We've removed the requirement to delete
  542. setup.php, and instead a new config parameter (setup_password) is used to protect access
  543. to this page. Password is encrypted, and setup.php can be used to generate the initial value.
  544. - Fix undefined variables problem(s)
  545. - Fix PostgreSQL date timestamp issues...
  546. Version 2.3rc3 - 2009/04/06 - SVN r611
  547. --------------------------------------
  548. - Minor improvements to the Debian packaging, expect more soon
  549. - Assorted bug fixes
  550. - Partial support for per-user fetchmail.pl support
  551. Version 2.3rc2 - 2009/02/03 - SVN r593
  552. --------------------------------------
  553. - Refactor /users (see /model) and provide XmlRpc interface for remote mail clients
  554. (e.g. squirrelmail-postfixadmin)
  555. - Add dovecotpw support - see:
  556. https://sourceforge.net/tracker/index.php?func=detail&aid=2607332&group_id=191583&atid=937966
  557. - Add unit tests for model/ directory (see /tests)
  558. - Add additional scripts to ADDITIONS
  559. - Documentation updates
  560. - Various language updates
  561. - added ADDITIONS/delete-mailq-by-domain.pl (by Jose Nilton)
  562. - added ADDITIONS/quota_usage.pl (by Jose Nilton) - produces report of quota usage
  563. - added support for courier authlib authentication flavors ($CONF['authlib_default_flavor'])
  564. Version 2.3 Beta - 2009/01/15 - SVN r527
  565. -----------------------------------------
  566. - added support for domain aliases (from lenix) (can be disabled with $CONF['alias_domain'])
  567. Important: If you update from a previous version, you'll have to adapt your postfix
  568. configuration (see DOCUMENTS/POSTFIX_CONF.txt) - or just disable alias domain support,
  569. your postfix configuration will continue to work
  570. - updated postfix example configuration for domain aliases and to use the new mysql map format
  571. - vacation.pl:
  572. - add option for re-notification after definable timeout (patch from Luxten)
  573. (default stays on "notify once")
  574. - force usage of envelope from/to, better checks for mailinglists, spam etc.
  575. If in doubt, do not send a vacation reply (patch from Lutxen)
  576. - added a small test suite
  577. - use Log4Perl
  578. - allow to enter the configuration in /etc/mail/postfixadmin/vacation.conf
  579. instead of editing vacation.pl directly
  580. - bump version number of vacation.pl
  581. - added domain-postcreation script support
  582. - added dovecot quota support (documentation + viewing in postfixadmin)
  583. - enhanced mailbox table to make it easier for people to customise where mailboxes live
  584. (new column "local_part")
  585. - enhanced fetchmail.pl script (file locking, syslog logging, configuration file etc)
  586. - added clear error message for non-resolvable domains when creating mailboxes or aliases
  587. - check for non-resolvable domains on domain creation
  588. - new option $CONF['create_mailbox_subdirs_prefix'] for compatibility with more IMAP servers
  589. - added support for mysql encrypt() password encrpytion
  590. - fix "illegal mix of collations" problem in MySQL by explicitely setting the charset everywhere
  591. - fix: cleanup vacation_notification table when disabling vacation
  592. - fix: config and fetchmail tables now honor $CONF['database_tables']
  593. - fix: several table names were hardcoded in database creation/update
  594. - fix: "unlimited" and "disabled" for quota and limits were crossed at several places
  595. - fix: honor $CONF['default_transport'] even if $CONF['transport'] = "no" (patch by fabiobon)
  596. - fix: transport field is no longer emptied on domain edit if editing transport is disabled
  597. - show links to create mailboxes or alias even on disabled domains
  598. - added support for fetchmail's "ssl" option
  599. - superadmin can now setup fetchmail for all users, not only for himself
  600. - force username to be lowercase - this helps some IMAP clients apparently
  601. - the "probably undeliverable" marker now honors catchall targets
  602. - on mailbox creation, show password if $CONF['generate_password'] == 'YES', but
  603. do not show it if it was _not_ autogenerated and $CONF['show_password'] == 'NO'
  604. - dropped $CONF['show_custom_count']. PHP can count ;-)
  605. - dropped obsolete VIRTUAL_VACATION/mail-filter script
  606. - translation updates
  607. - several small bugfixes
  608. Version 2.2.1.1 - 2008/07/23 - SVN r412
  609. ---------------------------------------
  610. - fixed version number in functions.inc.php ;-)
  611. Version 2.2.1 - 2008/07/21 - SVN r408
  612. -------------------------------------
  613. - added quota parameter to mailbox_postcreation hook
  614. - new hook to update the quota after editing a mailbox ($CONF['mailbox_postedit_script'])
  615. - fixed subfolder creation order and timing
  616. - allow smtp server to be specified in vacation.pl
  617. - fixed MySQL charset issues
  618. - several small bugfixes
  619. - Norwegian (bokmal) translation added
  620. - several translation updates
  621. Version 2.2.0 - 2008/04/29
  622. --------------------------
  623. <Far more changes than those listed here; thanks to all the community who have provided
  624. patches and time to help us get here!>
  625. - Unicode support for vacation messages
  626. - More language translations
  627. - Merged the two vacation scripts (PostgreSQL version won :) )
  628. - Added setup.php/upgrade.php scripts to handle upgrades
  629. - See also new 'config' database table
  630. - Added support for 'fetchmail' so mail from a remote server can be retrieved.
  631. - Many, many bug fixes
  632. - Added: Feature to show status of aliases/mailboxes (GregC)
  633. - Fixed: Many admin/*.php files merged with /*.php
  634. - Fixed: 'alias' instead of '$table_alias' being used by some .php files (GregC)
  635. - Fixed: Overview no longer lists alias entries for mailboxes (GregC)
  636. - Changed: Added exit buttons to several edit options. (GregC)
  637. - Fixed: user options are a little more idiot-proof, templates are consistent (GregC)
  638. - Changed: Users can view and edit their vacation config (GregC)
  639. - Added: Slovakian language posted on SourceForge by eszabo
  640. - Changed: searches include mailbox.name matches (GregC)
  641. - Fixed: function check_email will ignore vacation_domain if vacation==YES (GregC)
  642. - Changed: applied patches from Christian Boltz posted at
  643. http://www.cboltz.de/tmp/postfixadmin-3.patch, referenced at
  644. https://sourceforge.net/tracker/index.php?func=detail&aid=1696647&group_id=191583&atid=937966 (GregC)
  645. - Added: main.php to admin dirctory (GregC)
  646. - Added: Item "Main" on admin menu (GregC)
  647. - Changed: Edit-vacation now edits for admins/superadmins (GregC)
  648. - Added: Do not store local copy when forward mail. (Mihau) [24]
  649. - Added: Virtual Vacation for PostgreSQL. (Tarvin)
  650. - Added: Virtual Vacation 3.2 (Thanx David)
  651. - Added: SUBJECT tag for Virtual Vacation.
  652. - Added: Dovecot setup document for Postfix Admin. (Thanx Massimo)
  653. - Added: SquirrelMail plugin to change_password.
  654. - Changed: Starting to merge /admin in root. (Mihau)
  655. - Changed: Moved some TXT files to DOCUMENTS.
  656. - Changed: Updated tw.lang. (Thanx Bruce)
  657. - Fixed: Usage of mysql_real_escape_string(). (Mihau)
  658. - Fixed: Calculating of quotas. (Mihau)
  659. - Fixed: Password generation when creating a new account. (Mihau)
  660. - Fixed: PostgreSQL patches. (Tarvin)
  661. - Fixed: Adding of multiple aliases. (Mihau)
  662. - Fixed: CSS Menu width. (Mihau)
  663. - Fixed: Overview when upgrading from 2.0.4. (Mihau)
  664. - Fixed: smtp_mail() to wait for response from server.
  665. - Fixed: pacrypt() so system works properly. (Thanx Npaufler)
  666. - Fixed: quoting an email address when sending mail in vacation.pl. (Thanx Marc)
  667. - Fixed: vacation.pl has a clean exit when it encounters an error. (Thanx Brian)
  668. - Fixed: descriptions for quota={-1|0} in admin section (Mihau)
  669. Version 2.1.0 -- 2005/01/07
  670. ---------------------------
  671. - Added: Traditional Chinese language. (Thanx Bruce)
  672. - Added: Traditional Bulgarian language. (Thanx Plamen)
  673. - Added: Macedonian language. (Thanx Damjan)
  674. - Added: Estonian language. (Thanx Peeter)
  675. - Added: Slovenian language. (Thanx Nejc)
  676. - Added: Check for update link in footer.
  677. - Added: Additional language strings. Check LANGUAGE.TXT
  678. - Added: Transport support. (read postfix transport for more information)
  679. - Added: Additional language string for transport support.
  680. - Added: MySQL 4.1 support.
  681. - Added: PostgreSQL support. (Big Thanx WhiteFox!)
  682. - Added: Setup Checker script. (Thanx Fenrir)
  683. - Added: Database prefix. (Thanx Decramy)
  684. - Added: Template tags. (Thanx Nelson)
  685. - Added: admin/domain/alias/mailbox in delete dialog box.
  686. - Added: $CONF['postfix_admin_url'] variable.
  687. - Added: $CONF['postfix_admin_path'] variable.
  688. - Added: $CONF['vacation_domain'] variable.
  689. - Added: $CONF['welcome_text'] variable.
  690. - Added: $CONF['special_alias_control'] variable. (Thanx Mihau)
  691. - Added: Virtual Vacation 3.1 (Thanx David)
  692. - Added: ADDITIONS directory with third party scripts and plugins.
  693. - Added: Search function for aliases and mailboxes.
  694. - Changed: Postfix Admin has now it's own license.
  695. - Changed: New menu and color scheme. (Thanx Nelson)
  696. - Changed: Disable number and unlimited number for aliases/mailboxes/quota.
  697. - Changed: Virtual Vacation to have it's own transport. (Big Thanx Npaufler!)
  698. - Changed: Removed the welcome text for a new mailbox from the language files.
  699. - Changed: backup.php to be a more secure. (Thanx John)
  700. - Fixed: Cleaned up stylesheet.
  701. - Fixed: Default quota multiplier.
  702. - Fixed: All POST/GET strings are escaped.
  703. - Fixed: Corrected smtp_mail() to wait for result. (Thanx Patrice)
  704. - Fixed: Pagination with alias_control switched on.
  705. - Fixed: Swedish language. (Thanx Bjorne)
  706. - Fixed: Polish language. (Thanx Piotr)
  707. - Fixed: Minor Virtual Vacation bugs. (Thanx David)
  708. - Fixed: check_quota().
  709. - Fixed: Minor encode_header() issue. (Thanx Matthew)
  710. - Fixed: edit-alias.php when running with magic_quotes_gpc = off
  711. Version 2.0.5 -- 2004/08/21
  712. ---------------------------
  713. - Added: Chinese language. (Thanx Matthew)
  714. - Added: Catalan language. (Thanx Jaume)
  715. - Added: Czech language. (Thanx Jakub)
  716. - Added: Dynamic language detection.
  717. - Added: Header in header.tpl to set charset header from language file.
  718. - Added: More subroutines and alias checking for Vacation. (Thanx David)
  719. - Added: Domain pass-through with certain pages.
  720. - Added: Backup MX option for domain.
  721. - Added: Log contains IP address of admin.
  722. - Added: Pagination for alias/mailbox listing.
  723. - Added: 2 additional language strings to support Backup MX.
  724. - Added: Support for motd.txt (Domain Admins only).
  725. - Added: Support for motd-admin.txt (Site Admins only).
  726. - Added: Support for motd-users.txt (Users only).
  727. - Added: Optional hostname for vacation.
  728. - Added: generate_password() to generating random passwords for mailboxes.
  729. - Changed: dk -> da, se -> sv, no-nn -> nn
  730. - Changed: All email addresses are now converted to lowercase, strtolower().
  731. - Changed: Moved onMouseOver to the CSS stylesheet.
  732. - Changed: Moved font color to the CSS styleheet.
  733. - Changed: PHP mail() is replaced by an internal function, smtp_mail().
  734. - Changed: mysql_fetch_array() replaced with internal function db_array().
  735. - Changed: mysql_fetch_assoc() replaced with internal function db_assoc().
  736. - Changed: mysql_fetch_row() replaced with internal function db_row().
  737. - Changed: Quota multiplier is now a configuration option.
  738. - Fixed: Login didn't check for active flag.
  739. - Fixed: Minor html table errors.
  740. - Fixed: Row count by using COUNT(*).
  741. - Fixed: Locked down subdirectories.
  742. - Fixed: Create admin properly populates the domain_admins table.
  743. - Fixed: Cleaned up stylesheet.css.
  744. - Fixed: Delete mailbox properly removes vacation entries.
  745. Version 2.0.4 -- 2004/02/26
  746. ----------------------------
  747. - Added: Euskara language. (Thanx Julen)
  748. - Added: Hungarian language. (Thanx Christian)
  749. - Added: Icelandic language. (Thanx Gestur)
  750. - Added: Italian language. (Thanx Stucchi)
  751. - Added: Norwegian - Nynorsk language. (Thanx Paul)
  752. - Added: Polish language. (Thanx Jarek)
  753. - Added: Portuguese - Brazil language. (Thanx Roberto)
  754. - Added: Rusian language. (Thanx Paul)
  755. - Added: Turkish language (Thanx Onuryalazi)
  756. - Added: Encode a string according to RFC 1522 for use in headers if it
  757. contains 8-bit characters. (Thanx Evgeniy)
  758. - Added: One click active change of mailbox/domain/admin. (Thanx Marcin)
  759. - Changed: Header in header.tpl to read charset header from language file.
  760. - Fixed: Some form values are now parsed through htmlspecialchars().
  761. (Thanx Marcin)
  762. - Fixed: admin/delete.php ignored $CONF['vacation'].
  763. - Fixed: More minor fixes to Virtual Vacation.
  764. Version 2.0.3 -- 2004/01/14
  765. ----------------------------
  766. - Added: Site Admin email address.
  767. - Added: Danish language. (Thanx Lars)
  768. - Added: Dutch language. (Thanx Mourik)
  769. - Added: Faroese language. (Thanx Danial)
  770. - Added: Finnish language. (Thanx Palo)
  771. - Added: French language. (Thanx Kuthz)
  772. - Added: Swedish language. (Thanx Slite)
  773. - Added: Ignoring of MAILER-DAEMON type emails for Vacation.
  774. - Fixed: Minor issues regarding mail().
  775. - Fixed: Minor issues regarding crypt().
  776. - Fixed: Strip issue of email address for Vacation.
  777. Version 2.0.2 -- 2004/01/06
  778. ----------------------------
  779. - Added: German language. (Thanx Tobias)
  780. - Added: Spanish language. (Thanx Alvaro)
  781. - Fixed: The body was not included using sendmail.php.
  782. - Fixed: Undefined variables.
  783. - Fixed: Minor HTML cleanup.
  784. Version 2.0.1 -- 2004/01/04
  785. ----------------------------
  786. - Fixed: The language variable caused a problem on some systems.
  787. Version 2.0.0 -- 2004/01/03
  788. ----------------------------
  789. - Added: The ability for one domain admin to maintain multiple domains.
  790. - Added: Domain to domain forwarding.
  791. - Added: Mailboxes can now be activated or deactivated.
  792. - Added: Configurable welcome message for new mailboxes.
  793. - Added: Optional sending of welcome message.
  794. - Added: Create alias "To" defaults to current domain.
  795. - Added: Logging of admin / user actions.
  796. - Added: Limit for aliases and/or mailboxes per domain.
  797. - Added: Disable aliases and/or mailboxes per domain.
  798. - Added: Max quota per mailbox per domain.
  799. - Added: Multi-Language support.
  800. - Added: Statistics overview for all domains.
  801. - Added: User .forwarding for mailbox users.
  802. - Added: Logo for Postfix Admin (Thanx Andrew).
  803. - Added: Extra MySQL debugging capabilities.
  804. - Added: Clear text password support.
  805. - Added: PHP crypt() support.
  806. - Changed: Separated logic and SQL from content.
  807. - Changed: config.inc.php doesn't point to example.com anymore.
  808. - Changed: Virtual Vacation no longer requires procmail.
  809. - Changed: Complete re-write.
  810. Version 1.5.4 -- 2003/06/16
  811. ----------------------------
  812. - Added: Option for "Back to".
  813. - Added: Option for Vacation module.
  814. - Added: Table declaration for the use of Quota in the INSTALL.TXT.
  815. This requires an additional local delivery agent.
  816. Quotas are not supported by Postfix!
  817. - Changed: The word "View" to "List".
  818. Version 1.5.3 -- 2003/06/06
  819. ----------------------------
  820. - Fixed: Even more minor bugs in regards to declaration of variables.
  821. (Thanx Aquilante and Kyle_m)
  822. Version 1.5.2 -- 2003/06/05
  823. ----------------------------
  824. - Fixed: Minor bugs in regards to declaration of variables.
  825. Version 1.5.1 -- 2003/06/04
  826. ----------------------------
  827. - Added: Optional mailbox per domain directory structure. (Thanx Jim)
  828. - Added: Option to completely control the stored aliases. (Thanx Alex)
  829. - Changed: config.inc.php is renamed to config.inc.php.sample. (Thanx Alex)
  830. - Fixed: $PHP_SELF in config.inc.php and my_lib.php. (Thanx Jim)
  831. Version 1.5.0 -- 2003/05/28
  832. ----------------------------
  833. - Added: Support for "Back to Main Site"
  834. - Added: config.inc.php as the main configuration file.
  835. - Added: Drop down box for domain selection when adding a new admin.
  836. - Added: Resend of test email to newly created mailbox.
  837. - Added: Mailbox and Aliases count for domainview.
  838. - Added: Change description of domain without deleting the complete
  839. domain.
  840. - Added: Change name of mailbox user without deleting the mailbox.
  841. - Added: Expire headers for unnecessary reloads. (Thanx Alex)
  842. - Fixed: Code clean up.
  843. - Fixed: Minor bugs and cosmetic fixes.
  844. - Fixed: Modified check_string() to check numbers and returns false if not
  845. matched. (Thanx btaber)
  846. - Fixed: Correct session handling in login.php (Thanx Yen-Wei Liu)
  847. - Fixed: Correct deletion of RFC822 email addresses. (Thanx Yen-Wei Liu)
  848. - Removed: Completely removed the site_lib.php.
  849. - Removed: my_lib.php from the admin directory.
  850. - Removed: Symlink to index.php.
  851. Version 1.4.0 -- 2003/04/07
  852. ----------------------------
  853. - Added: When deleting a domain, all aliases and mailboxes for that domain
  854. are also deleted from the database.
  855. - Added: Add standard aliases for every domain that is created.
  856. These aliases can point to the main "local" administrator.
  857. The aliases are configured in the config.php in the admin directory.
  858. - Changed: The layout of my_lib.php and site_lib.php have been changed.
  859. - Changed: Modifying an alias is now done with TEXTAREA for more
  860. flexibility.
  861. - Fixed: Minor bugs and cosmetic fixes.
  862. Version 1.3.8a -- 2003/03/31
  863. ----------------------------
  864. - Fixed: After deletion of a domain it would not return to the correct page.
  865. Version 1.3.8 -- 2003/03/25
  866. ----------------------------
  867. - Added: Admin password change. No longer needed to delete and re-enter
  868. the admin user for a specific domain.
  869. Version 1.3.7 -- 2002/12/24
  870. ----------------------------
  871. - Initial public release of Postfix Admin.
  872. # vim: set expandtab softtabstop=2 tabstop=2 shiftwidth=2: