0
0
mirror of https://github.com/postfixadmin/postfixadmin.git synced 2024-09-20 03:36:20 +02:00
Commit Graph

425 Commits

Author SHA1 Message Date
David Goodwin
496657aa5d echo something helpful on db error when testing 2019-02-16 19:21:46 +00:00
David Goodwin
2e87464fc8 initial attempt at connecting to mysql socket file through pdo 2019-02-15 22:17:41 +00:00
David Goodwin
9cc04df973 move the password expiry date to be php generated so it works fine on all databases 2019-02-15 21:35:29 +00:00
David Goodwin
8632cbd1a9 improve documentation around the various crypt functions 2019-02-15 21:34:49 +00:00
David Goodwin
17a420152c use pdo/prepared statement for list-virtual + page browser 2019-02-15 21:33:55 +00:00
David Goodwin
a05f87723f reformat 2019-02-10 12:12:28 +00:00
David Goodwin
28870e4b45 explode if there is no db connection made 2019-02-10 12:11:58 +00:00
David Goodwin
b4564958a1 phpdoc; touch sqlite file before trying to use it in tests 2019-02-10 11:03:52 +00:00
8ctopus
4f2dab357c the directory the SQLite database is in must be writeable 2019-02-10 10:56:08 +05:00
hawk
ceae3caa37 sqlite3 databases: check that the file exists and is writeable 2019-02-10 10:06:59 +05:00
David Goodwin
92d6259cd0 possibly fix PGSQL PDO DSN to be unicode aware; see #243 2019-02-09 21:19:28 +00:00
hawk
c71dd25afa fix setup db_connect_with_errors PDO exceptions were not caught 2019-02-09 18:47:45 +05:00
David Goodwin
583b8958c7 psalm 2019-01-16 09:24:33 +00:00
David Goodwin
7838e85ff0 fix formatting 2019-01-11 17:20:25 +00:00
David Goodwin
5db463b35c improve docs 2019-01-11 17:12:16 +00:00
David Goodwin
cef2ba5598 Merge remote-tracking branch 'origin/master' into feature-try-pdo 2019-01-10 06:45:30 +00:00
Luca
e347b4677b
Fix for MySQL 8
The keyword ROW became reserved in MySQL 8.0.2
https://dev.mysql.com/doc/refman/8.0/en/keywords.html#keywords-8-0-detailed-R
2019-01-08 19:33:14 +01:00
David Goodwin
803e2342f8 fix psalm issues; reformat; rename new db functions 2019-01-06 21:32:58 +00:00
David Goodwin
1176c9ce78 reformat; fix some transition bugs 2019-01-06 21:32:58 +00:00
David Goodwin
ea33d9951a try migrating to pdo 2019-01-06 21:32:58 +00:00
David Goodwin
8798a65a06 remove db_array() function (not in use); use Config::read_string(..) more 2019-01-01 19:28:59 +00:00
David Goodwin
cdacb5697f improve formatting of error message; remove use of db_array (to be removed). 2019-01-01 19:24:04 +00:00
David Goodwin
2ea829eb7a fix postgresql compatability - see #227 2018-12-31 22:19:29 +00:00
David Goodwin
b2e814967f try and get working under travis ... 2018-12-29 21:45:12 +00:00
David Goodwin
590c80f0bc add more unit tests; re-enable random_int warning in functions.inc.php for old php versions etc etc 2018-12-29 20:54:25 +00:00
David Goodwin
e8acb609c2 reformat 2018-12-28 19:59:35 +00:00
David Goodwin
20b1eb842e fix sqlite display of password expired check for mailboxes 2018-12-28 19:57:21 +00:00
David Goodwin
1dfb03ea32 fix sqlite query for mailbox password_expiry 2018-12-28 19:54:25 +00:00
David Goodwin
4fcdba9cf4 run php-cs-fixer (code reforamt) 2018-12-28 19:31:43 +00:00
David Goodwin
19cda31849 remove psalm warnings from code; fix password_expiry behaviour when enabled/disabled on MySQL 2018-12-28 19:27:33 +00:00
David Goodwin
74002bbf57 psalm fixes 2018-12-27 21:43:11 +00:00
David Goodwin
7408a3b30a fix safepost doc 2018-12-27 13:55:21 +00:00
David Goodwin
69e234f668
Merge pull request #200 from doktoil-makresh/master
Support for password expiration, managed in PostFix Admin
2018-11-27 09:14:36 +00:00
David Goodwin
87472af5ba add Date header into smtp_from(...) function - see #203 2018-09-21 21:56:35 +01:00
David Goodwin
b1795ab596 phpdoc 2018-09-07 11:09:34 +01:00
David Goodwin
1e158245d6 try and fix #30 - cope with timestamp and numeric field number comparison better for PostgreSQL. 2018-09-07 11:04:19 +01:00
David Goodwin
a8b02cfc05 Default to default values 2018-09-07 11:01:18 +01:00
David Goodwin
77d1b6c2e7 rename sql fields to just have mailbox.password_expiry and domain.password_expiry 2018-08-28 21:19:56 +01:00
Damien Martins
8115d8d047 Reverting unexpected changes 2018-08-22 14:32:16 +02:00
Damien Martins
84533224ba Adds colored indicators for password expired, account disabled and vacation enabled accounts 2018-08-21 16:04:28 +02:00
Damien Martins
b33d79125c Merge branch 'master' of github.com:doktoil-makresh/postfixadmin 2018-08-21 16:02:02 +02:00
Damien Martins
d809e0fbf7 Adds colored indicators for password expired, account disabled and vacation enabled accounts 2018-08-21 15:57:06 +02:00
Damien Martins
72dddbc93b Adds colored indicators for password expired, account disabled and vacation enabled accounts 2018-08-21 15:49:40 +02:00
Damien Martins
ce60b9fa59 Now password expiration is managed through Postfix Admin GUI 2018-08-20 15:32:53 +02:00
Damien Martins
e786609aa9 Adding support for password expiration. Please read README.password_expiration for more details 2018-08-17 16:07:14 +02:00
David Goodwin
563b8c7636 phpdoc fixes (psalm) 2018-06-18 21:54:05 +01:00
David Goodwin
318ac048d5 psalm fixes 2018-06-10 21:24:12 +01:00
Aleksi Kinnunen
2df4348f09
Typo fix 2018-05-29 02:37:38 +02:00
Aleksi Kinnunen
48c19a1cbd
Combine encrypt CONF-keys
Went through the old PR #25, updated the encrypt rounds/cost setting to be in the encrypt -configuration key as per suggestion from @cboltz
2018-05-29 02:36:08 +02:00
Aleksi Kinnunen
c1b5e66e27
Add missing global
... you should never edit with the GitHub web GUI, lazy me.
2018-05-29 01:34:46 +02:00
Aleksi Kinnunen
b676e8337f
Allow empty $CONF['encrypt_difficulty'] for defaults 2018-05-29 01:29:50 +02:00
Aleksi Kinnunen
9c2161a549
Added support for password generation cost/rounds
$CONF["php_crypt_difficulty"], only for php_crypt:BLOWFISH, php_crypt:SHA256 and php_crypt:SHA512
2018-05-29 01:14:38 +02:00
David Goodwin
3754381f0e
Merge pull request #175 from racerxdl/master
'row' is a reserved word in MySQL 8.0
2018-05-18 08:38:20 +01:00
Lucas Teske
11f9680963
'row' is a reserved word in MySQL 8.0 2018-05-17 20:45:35 -03:00
Christian Boltz
2eb5a7ed60
simplify function_exists() checks for random_int()
It's easier to define a compat function than to have function_exists()
checks all over the code.
2018-05-04 22:36:05 +02:00
David Goodwin
b4849b8431 bump minimum db version 2018-05-02 21:25:36 +01:00
David Goodwin
4c6bcdbc39 update version 2018-05-02 21:25:06 +01:00
David Goodwin
5b7f4cda48 add phpdoc comments, default php_crypt hash to use SHA512 rather than MD5 2018-05-02 21:21:25 +01:00
David Goodwin
7282928e6d update generate_password() to allow length to be specified; update test 2018-05-02 21:19:47 +01:00
Christian Boltz
a3feba7c73
change default for php_crypt to SHA512
(+ a few whitespace changes)
2018-05-02 22:18:24 +02:00
David Goodwin
b48f99d4c6 reformat (phpcs) 2018-05-02 12:54:17 +01:00
David Goodwin
e7f9d536d9 change default salt method with php_crypt 2018-05-02 12:49:47 +01:00
David Goodwin
f543c7d403 use random_int() if available 2018-04-29 21:53:38 +01:00
David Goodwin
7c0cb82be8 use random_int if it is available 2018-04-29 20:51:48 +01:00
snuggeman
11f0ceb615 added php_crypt scheme 2018-04-29 15:39:58 +02:00
David Goodwin
9a07772626 remove commented out echo 2018-04-23 09:14:45 +01:00
Christian Boltz
30c61e81b3
better comment for pacol() parameter 2018-04-22 20:09:13 +02:00
Lucas Teske
50ac4c7597
Fixed "Incorrect integer value: 'Array' for column" error in updates. 2018-02-21 22:50:02 -03:00
David Goodwin
d57aa46eb5 remove explode() 2018-02-21 19:48:17 +00:00
David Goodwin
2a1d8daeba remove unused variables 2018-02-21 19:48:17 +00:00
David Goodwin
b79ad2ae28 composer format ... 2018-02-19 21:01:23 +00:00
David Goodwin
6446f3f6cc split up pacrypt() into different functions; add some minimal test coverage 2018-02-19 20:59:52 +00:00
David Goodwin
6ed1527497 fix phpdoc 2018-02-18 20:32:34 +00:00
David Goodwin
cb34da4f46 phpcs reformat 2018-02-18 19:59:37 +00:00
David Goodwin
43a2493876 remove unused code. 2018-02-10 21:07:33 +00:00
David Goodwin
4dec9cd24e refactor (reduce nesting) 2018-02-10 21:07:10 +00:00
David Goodwin
d088651fd6 Drop db_commit(), db_rollback(), db_begin() functions (unused). 2018-02-10 21:05:57 +00:00
David Goodwin
0b66cd6bd2 Do not try to db_escape() an SQL field. 2018-02-10 21:04:29 +00:00
David Goodwin
4e9d166765 use db_assoc() rather than db_array() as we're depending on an assoc array afterall. 2018-02-10 21:02:52 +00:00
David Goodwin
45a1073b97 change to use foreach($a as $k => $v) { ... } 2018-02-10 21:02:09 +00:00
David Goodwin
8ac94394cb improve phpdoc 2018-02-10 21:00:58 +00:00
David Goodwin
e2b1233269 Use filter_var($x, FILTER_VALIDATE_EMAIL) as an extra check if we can in check_email(...) 2018-02-10 20:56:56 +00:00
David Goodwin
5e1855632a allow local aliases - see #134 2018-02-09 21:19:45 +00:00
Adrien Crivelli
15df6c1d7b
Reformat everything with PHP-Cs-Fixer 2018-01-26 23:54:37 +09:00
David Goodwin
a320b67508 possible fix for issue in #112 - PostgreSQL does not like backticks (only do them for MySQL) 2018-01-03 16:05:46 +00:00
Christian Boltz
977f335a0f
Fix quoting in table_by_key()
This fixes a regression introduced by
https://github.com/postfixadmin/postfixadmin/pull/112
which became only visible when using a $CONF['database_prefix']
2017-12-30 13:42:47 +01:00
er1cs
7b8626ca81
Update functions.inc.php
I found that Mysql 8 don't like table names without `` in requests. So i make changes in function table_by_key in functions.inc.php and in upgrade.php . Now it works.  FreeBSD 11.1 Apache/2.4.29 (FreeBSD) PHP/7.1.11 Mysql 8
2017-12-24 16:32:06 +02:00
Lee Clemens
ebbd9025e4 Add support for MySQL connections over SSL 2017-11-14 19:53:59 -05:00
Sylvain Tissot
ffb84283c2
Harden password reset process
The improvements are:

- Die with an explicit message when a user is trying to reset his lost password and the option is disabled in config
- Redirect user to main page after password change using relative URL
- Don't leak info whether user exists or has recovery info defined
- Throttle password reset requests to prevent brute force attacks
- Show phone/alt email fields in mailbox/admin edit form only when the password reset option is enabled
- Make database upgrade code compatible with other databases types
- Use the existing password generator to generate OTP. It is now stored in database, unique to each user, valid only for 1 hour and can only by used once.
2017-10-09 11:45:51 +09:00
David Goodwin
4b999b3f6b improve mysqli connection settings - see https://github.com/postfixadmin/postfixadmin/issues/73 2017-09-05 10:09:36 +01:00
Sylvain Tissot
9c9ba64a7f Allows a user or admin to reset his/her forgotten password with a code sent by email/SMS #18 2017-08-21 13:05:25 +02:00
Christian Boltz
be5fafa9fb
changelog update etc. for 3.1 release 2017-06-25 16:37:42 +02:00
Christian Boltz
64f1593818
revert "support unicode domain names - see #47"
Unicode support is a much bigger can of worms (see the discussion in #47),
and having just a little part of unicode support in is a bad idea.

You can of course use the xn--whatever notation for unicode domains ;-)
2017-06-22 20:48:07 +02:00
David Goodwin
a09a3fa3b0 support unicode domain names - see #47 2017-06-02 12:54:34 +01:00
Christian Boltz
88bd9bfd19
drop $db_conn parameter from escape_string()
Connection caching is now done in db_connect() which is a much better
place.

This reverts most of c253ef7dbd
2017-04-17 12:39:04 +02:00
Christian Schrötter
846dcb756c
Remove unnecessary code 2017-03-27 18:15:11 +02:00
Christian Schrötter
e28f3f5959
Fix for mysqli_connect() 2017-03-21 18:05:33 +01:00
Christian Schrötter
2dea9fadd4
Remove whitespace 2017-03-21 17:43:27 +01:00
David Goodwin
c253ef7dbd allow escape_string() to take a db connection as a parameter; should improve performance when there are a large number of things to escape 2017-02-24 10:59:45 +00:00
Christian Boltz
28703935b3 3.0.2 release
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1894 a1433add-5e2c-0410-b055-b7f2511e0802
2017-02-09 05:21:12 +00:00
Christian Boltz
16e1407621 db_where_clause(): allow NULL and NOTNULL searchmodes
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1878 a1433add-5e2c-0410-b055-b7f2511e0802
2016-11-01 15:45:45 +00:00
Christian Boltz
bbec3e9f0e pacrypt(): allow switching between dovecot:* password schemes
Dovecot password hashes include a {SCHEME} prefix, so it's possible to
switch the scheme while still accepting passwords hashed using the
previous dovecot:* scheme.

This patch adds the code needed to find out the used hashing scheme
from the hash and ensures it gets used to validate the password.

Patch by Aaron Lindsay <aaron AT aclindsay com> (sent to the ML)



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1875 a1433add-5e2c-0410-b055-b7f2511e0802
2016-10-20 20:15:15 +00:00
Christian Boltz
6eda18fcde prepare PostfixAdmin 3.0 release
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1861 a1433add-5e2c-0410-b055-b7f2511e0802
2016-09-10 20:02:33 +00:00
Christian Boltz
2a6247a6d9 db_connect(): drop unused variable $succes(s)
One of the variable names had a typo [1], and since those variables are
unused, the best way is to drop them.

[1] reported by tfarina, https://github.com/postfixadmin/postfixadmin/issues/15


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1858 a1433add-5e2c-0410-b055-b7f2511e0802
2016-09-09 19:43:18 +00:00
Christian Boltz
13cdd50d0a Add checks to login.php and cli to ensure database layout is up to date
- add check_db_version() to functions.inc.php
- add $min_db_version (needs to be updated at least before the release)
- call check_db_version in login.php, users/login.php and CLI - they'll
  error out if the database layout is outdated
- change setup.php to use check_db_version()



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1853 a1433add-5e2c-0410-b055-b7f2511e0802
2016-05-22 19:58:54 +00:00
Christian Boltz
a00e8a811d functions.inc.php:
- check_domain(): someone had the great idea to allow punicode
  even in TLDs, so we better allow it.
  https://sourceforge.net/p/postfixadmin/feature-requests/93/


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1839 a1433add-5e2c-0410-b055-b7f2511e0802
2016-05-16 09:27:36 +00:00
Christian Boltz
a0151bd5a1 functions.inc.php:
- pacrypt(): don't stripslashes($pw) because this breaks passwords with
  backslashes. This stripslashes() existed since forever, but probably
  became harmful with all the rewrites in the last years.
  https://sourceforge.net/p/postfixadmin/bugs/349/


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1838 a1433add-5e2c-0410-b055-b7f2511e0802
2016-05-15 21:14:01 +00:00
Christian Boltz
9335232024 functions.inc.php:
- fix db_quota_text() for postgresql (concat() vs. ||)
  https://sourceforge.net/p/postfixadmin/bugs/370/


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1834 a1433add-5e2c-0410-b055-b7f2511e0802
2016-04-25 11:23:35 +00:00
David Goodwin
d3ca74af0d merge github pull request into svn manually - 3e62d3975a - adding configurable smtp helo (CONF["smtp_client"])
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1832 a1433add-5e2c-0410-b055-b7f2511e0802
2016-03-28 18:28:40 +00:00
Christian Boltz
b261db86c7 Merge pull request #9 from phyrog/master
Add sqlite backend option (thank you @phyrog for doing this)

(imported from github)


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1824 a1433add-5e2c-0410-b055-b7f2511e0802
2016-02-04 22:30:06 +00:00
Christian Boltz
129a65b8c5 functions.inc.php:
- gen_show_status(): escape mail addresses in query.
  Fixes https://sourceforge.net/p/postfixadmin/bugs/356/
  (mostly - the edit/delete/... links in list-virtual are double-escaped)
  In theory this could allow SQL injection, in practise the mail address
  regex limits this issue to a DOS (creating a mail address with ' caused
  an invalid query that broke list-virtual)


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1809 a1433add-5e2c-0410-b055-b7f2511e0802
2015-10-02 17:45:16 +00:00
Christian Boltz
9636fe9de3 3.0 beta3 (= 2.93) release - update $version and changelog
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1799 a1433add-5e2c-0410-b055-b7f2511e0802
2015-09-26 10:39:05 +00:00
Christian Boltz
5307cfe48a functions.inc.php check_domain():
Measure time needed for the nameserver queries, and error_log a warning
if the queries need more than 2 seconds in total.

Inspired by a question from t-ask on IRC, who suffered from a slow
nameserver and had some "fun" to debug it ;-)


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1790 a1433add-5e2c-0410-b055-b7f2511e0802
2015-06-13 19:56:26 +00:00
Christian Boltz
3a72203de4 AliasHandler:
- initStruct(): replace (wrong) 'editable' with '_can_edit' and '_can_delete'
- read_from_db_postprocess(): disable _can_edit and _can_delete for
  default aliases if special_alias_control is off and not superadmin

list.tpl:
- use $item._can_edit instead of $check_alias_owner

list-virtual.php:
- drop $check_alias_owner variable and check_alias_owner() call
  (replaced by the code added in AliasHandler)
- drop unused $sql_domain

functions.inc.php:
- delete no longer used check_alias_owner() function



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1774 a1433add-5e2c-0410-b055-b7f2511e0802
2015-04-06 20:35:19 +00:00
Christian Boltz
cc598d0f3f PFAHandler:
- build_select_query(): add support for $search['_'] (searching if one
  of the $this->searchfields contains the search text)
- getList(): make sure '_' is kept in the search parameters

functions.inc.php:
- db_where_clause(): slightly relax checks - if $condition is empty,
  only error out if $additional_raw_where is also empty


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1772 a1433add-5e2c-0410-b055-b7f2511e0802
2015-04-06 13:39:21 +00:00
Christian Boltz
5605561ca8 functions.inc.php:
- better formatting in db_quota_text() and db_quota_percent() results
  (for example, infinity sign instead of / 0 for unlimited)


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1744 a1433add-5e2c-0410-b055-b7f2511e0802
2015-02-28 22:30:21 +00:00
Christian Boltz
13f1a28b6e PFAHandler:
- read_from_db(), getList(): 
  - add $searchmode parameter (_before_ $limit and $offset!) to be able to 
    use query different query modes, not only "="
  - add a warning that $condition will be changed to array only in the future
- getList(): filter $condition for fields that are available to the user
  to avoid information leaks by using search parameters
  (filter is only applied if $condition is an array!)

functions.inc.php: 
- db_where_clause():
  - add $additional_raw_where parameter for additional query parameters
  - add $searchmode parameter to be able to use query different
    query modes, not only "=" (see $allowed_operators)
  - check for allowed operators in $searchmode
  - split query into WHERE and HAVING (if a parameter has
    $struct[select] set, HAVING is used)

list-virtual.php:
- adopt getList() call to the new syntax

AliasHandler:
- adopt getList() definition and call to the new syntax

 


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1731 a1433add-5e2c-0410-b055-b7f2511e0802
2014-11-02 22:45:22 +00:00
Christian Boltz
786a7d665e functions.inc.php:
- pacol():
  - add $linkto parameter (if list mode should link to something)
  - replace $not_in_db with $multiopt - the remaining parameters can
    now be specified as associated array (backwards-compatible)



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1719 a1433add-5e2c-0410-b055-b7f2511e0802
2014-11-01 21:11:33 +00:00
Christian Boltz
9093a946b4 functions.inc.php:
- add functions db_quota_text() and db_quota_percent() to generate
  queries for used quota ("x/y" and percentage)



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1712 a1433add-5e2c-0410-b055-b7f2511e0802
2014-11-01 19:19:00 +00:00
Christian Boltz
e8b0198512 2.92 (aka 3.0 beta2) release
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1706 a1433add-5e2c-0410-b055-b7f2511e0802
2014-10-28 20:05:46 +00:00
Christian Boltz
d3964f600e functions.inc.php
- db_get_boolean: error_log invalid values


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1672 a1433add-5e2c-0410-b055-b7f2511e0802
2014-05-11 23:09:18 +00:00
Christian Boltz
0b116c1605 version 2.91 aka 3.0 beta1
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1670 a1433add-5e2c-0410-b055-b7f2511e0802
2014-05-06 19:46:27 +00:00
Christian Boltz
8e04104b20 functions.inc.php:
- db_log():
  - replace $action_list with $LANG["pViewlog_action_$action"]
  - drop unused $table_log variable


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1658 a1433add-5e2c-0410-b055-b7f2511e0802
2014-03-16 21:52:26 +00:00
David Goodwin
b3074644ff alias can contain a ' - as in email.o'connor - need to therefore escape this...
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1639 a1433add-5e2c-0410-b055-b7f2511e0802
2014-02-17 13:43:47 +00:00
Christian Boltz
e7fe6e16ef functions.inc.php:
- check_domains(): raise TLD limit to 13 chars - even if I seriously
  doubt someone wants to use such a long TLD ;-)
  ( https://sourceforge.net/p/postfixadmin/bugs/310/ again)


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1637 a1433add-5e2c-0410-b055-b7f2511e0802
2014-02-13 20:11:05 +00:00
Christian Boltz
9bcc57cd88 functions.inc.php
- check_domain(): update regex for new, longer TLDs like .photography
  https://sourceforge.net/p/postfixadmin/bugs/310/
 


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1635 a1433add-5e2c-0410-b055-b7f2511e0802
2014-02-13 19:34:24 +00:00
Christian Boltz
252ae047d5 various files:
- get rid of global $table_* variables, use table_by_key() instead



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1601 a1433add-5e2c-0410-b055-b7f2511e0802
2013-12-08 19:41:01 +00:00
Christian Boltz
57f4ad0b75 functions.inc.php pacrypt():
- for 'system' encryption, use full hashed password as salt 
  https://sourceforge.net/p/postfixadmin/bugs/2/


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1595 a1433add-5e2c-0410-b055-b7f2511e0802
2013-12-01 21:48:14 +00:00
Christian Boltz
1a35cccf5e list-virtual.php:
- remember domain and page browser offset in $_SESSION
  (fixes 50% of http://sourceforge.net/p/postfixadmin/bugs/298/ )
- various cleanups

functions.inc.php:
- add safesession() (like safeget(), but for $_SESSION)



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1593 a1433add-5e2c-0410-b055-b7f2511e0802
2013-12-01 19:05:14 +00:00
Christian Boltz
c349420210 functions.inc.php
- db_query(): do not print out the failed query, error_log() it instead
  to avoid information leaks.
- update SF forum URL


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1592 a1433add-5e2c-0410-b055-b7f2511e0802
2013-11-18 22:57:37 +00:00
Christian Boltz
20d1ffcafc functions.inc.php:
- new function db_pgsql() to replace lots of
  "if ($CONF[database_type] == 'pgsql')) checks
- delete unused function boolconf()

several files:
- use db_pgsql() instead of checking $CONF[database_type]



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1582 a1433add-5e2c-0410-b055-b7f2511e0802
2013-11-16 00:00:53 +00:00
Christian Boltz
2bf5df92ea functions.inc.php, DomainHandler, MailboxHandler:
- move mailbox_postdeletion() to MailboxHandler
- move domain_postcreation() and domain_postdeletion() to
  DomainHandler
- adopt those functions for usage inside the *Handler (replace
  print with $this->errormsg etc.)



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1579 a1433add-5e2c-0410-b055-b7f2511e0802
2013-11-14 22:10:05 +00:00
Christian Boltz
6e2e132bac remove "postfixadmin.com" in comments in lots of files
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1558 a1433add-5e2c-0410-b055-b7f2511e0802
2013-11-10 15:57:32 +00:00
Christian Boltz
d900835997 functions.inc.php:
- pacrypt(): fix dovecot:* to work with "old" passwords that don't have 
  the {method} prefix


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1554 a1433add-5e2c-0410-b055-b7f2511e0802
2013-11-01 19:54:25 +00:00
Christian Boltz
b137e774f6 functions.inc.php:
- check_language(): remove things like ";q=0.8" before checking if 
  a language exists


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1547 a1433add-5e2c-0410-b055-b7f2511e0802
2013-10-31 20:38:14 +00:00
Christian Boltz
4d9a338eb2 After hunting an "undefined index transport" error in list-domain, I
found out that the 'Config' class is too static - it shares its static
data with the 'Lang' child class. 

This caused a conflict because we have $CONF[transport] and 
$PALANG[transport], and Config::read('transport') returned the $PALANG 
text.

To fix this, all texts are now stored as $CONF[__LANG].
I also dropped the 'Lang' class.


model/Config.php:
- mark the 'Config' class as final to ensure we don't trap into the 
  "too static" problem again.
- bool(): display and log an error message if a $CONF option does not
  contain YES or NO (that would have uncovered this bug much earlier)
- add lang() and lang_f() wrapper functions to get $PALANG texts
- remove unused $__cache and $__objects

model/Lang.php:
- deleted

common.php:
- store $PALANG as $CONF[__LANG]

lots of files:
- replace Lang::read() and Lang::read_f() calls with Config::lang()
  and Config::lang_f()




git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1536 a1433add-5e2c-0410-b055-b7f2511e0802
2013-10-13 18:11:18 +00:00
Christian Boltz
f2c2b554ac model/PFAHandler.php:
- getList: change return value to be always true (even if the database 
  result is an empty array), and die() if the database result is not an 
  array.
  This avoids some if blocks in various files to implement a fallback
  to array() on empty results.

functions.inc.php:
- list_admins(): simplify after the *Handler->getList() change
- get_domain_properties(): change a forgotten $handler->return to 
  $handler->result() (follow-up for r1534)

list-domain, list-virtual.php:
- simplify after the *Handler->getList() change



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1535 a1433add-5e2c-0410-b055-b7f2511e0802
2013-10-13 16:11:15 +00:00
Christian Boltz
43f2591d93 functions.inc.php:
- smtp_get_admin_email(), domain_postcreation(), domain_postdeletion(): 
  use Config::read instead of $CONF
- smtp_get_response(): whitespace fixes



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1532 a1433add-5e2c-0410-b055-b7f2511e0802
2013-10-08 19:30:28 +00:00
Christian Boltz
f444de402b functions.inc.php:
- pacrypt(), dovecot:* method:
  - allow "." in dovecot method (to allow a suffix like ".b64")
  - blacklist SCRAM-SHA-1 (needs -u)
  - check against list of non-salted methods to be backward compatible
    with dovecot < 2.1 again
  Thanks to Szilagyi Jozsef <szjozsef AT yahoo DOT com> for providing
  the list of non-salted methods etc.

functions.inc.php, scripts/postfixadmin-cli.php:
- drop unused global variables $table_admin and $table_alias_domain



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1529 a1433add-5e2c-0410-b055-b7f2511e0802
2013-10-07 18:42:59 +00:00
Christian Boltz
5d4240ce52 functions.inc.php:
- pacrypt: digest-md5 hashes include the username - until someone 
  implements it, let's declare it as unsupported and error out


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1525 a1433add-5e2c-0410-b055-b7f2511e0802
2013-10-03 20:29:54 +00:00
Christian Boltz
0d6f9ff99f functions.inc.php:
- pacrypt(): some small changes after Szilagyi Jozsef's patch:
  - comment out unused $crypt_method
  - change $dovecotpw default to "doveadm pw" (unrelated to the patch)
  - set $dovepasstest to "-t $pw_db" instead of having two similar
    command lines, and also shellescapearg() $pw_db
  - use "if (empty($dovepasstest))" instead of "if (empty($pw_db))"



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1524 a1433add-5e2c-0410-b055-b7f2511e0802
2013-10-03 20:01:31 +00:00
Christian Boltz
161d387485 - pacrypt(): add support for dovecot *-CRYPT passwords
doveadmin pw now has an option "-t $hash" which allows to verify 
  salted passwords (added in dovecot 2.1 AFAIK)
  Also, the {METHOD} part is no longer removed.

  Patch by Szilagyi Jozsef <szjozsef [at] yahoo.com> - thanks!

  (The schemes which requires also the username -u option is still not supported)


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1523 a1433add-5e2c-0410-b055-b7f2511e0802
2013-10-03 18:53:34 +00:00
Christian Boltz
c2ccffb76c functions.inc.php:
- mailbox_postdeletion(): use Config::read instead of global $CONF


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1522 a1433add-5e2c-0410-b055-b7f2511e0802
2013-10-03 18:35:30 +00:00
Christian Boltz
73a793433e moved the following functions from functions.inc.php to MailboxHandler.php:
- check_quota ()
- allowed_quota()
- mailbox_postcreation()
- mailbox_postedit()
- create_mailbox_subfolders()

The code was moved without any changes, except
- added leading whitespace
- removed "TODO: move to MailboxHandler" ;-)


MailboxHandler:
- change function calls for moved functions


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1515 a1433add-5e2c-0410-b055-b7f2511e0802
2013-08-07 20:05:18 +00:00
Christian Boltz
ecc84a1486 functions.inc.php:
check_quota()
  mailbox_postcreation()
  mailbox_postedit()
  create_mailbox_subfolders()
  - use Config::read() / Config::bool() instead of $CONF
  - update comment header
  - some minor changes to make the code better readable



git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1514 a1433add-5e2c-0410-b055-b7f2511e0802
2013-08-07 19:34:17 +00:00
Christian Boltz
414c05e678 functions.inc.php:
- db_where_clause(): wrap condition in "(...)"


model/PFAHandler.php:
- read_from_db(): wrap condition in "(...)"


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1493 a1433add-5e2c-0410-b055-b7f2511e0802
2013-06-23 20:02:05 +00:00
Christian Boltz
a07b822906 functions.inc.php:
- remove unused functions:
  - authentication_is_admin()
  - authentication_is_user()
  - check_string()
  - admin_exist()
  - domain_exist()
- add various TODO notes


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1482 a1433add-5e2c-0410-b055-b7f2511e0802
2013-06-23 14:59:55 +00:00
Christian Boltz
79403ad709 functions.inc.php:
- delete unused function get_mailbox_properties()


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1481 a1433add-5e2c-0410-b055-b7f2511e0802
2013-06-23 14:38:22 +00:00
Christian Boltz
2cbbac134f functions.inc.php:
- replace boolconf() calls with Config::bool()


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1474 a1433add-5e2c-0410-b055-b7f2511e0802
2013-06-06 20:53:37 +00:00
Christian Boltz
71200c1049 functions.inc.php:
- check_email: mention the invalid mail address in errormessage
  (needs text change)


git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@1470 a1433add-5e2c-0410-b055-b7f2511e0802
2013-06-05 23:03:03 +00:00