You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGELOG.TXT 47KB

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