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 52KB

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