Commit Graph

1056 Commits (6a347f36dbaa1dbd25bd817c5c77debb1a04804e)

Author SHA1 Message Date
Aleksander Machniak f7809af6e4 Support AUTHENTICATE LOGIN for IMAP connections (#5563)
Add imap_auth_type=IMAP to force use of LOGIN instead of AUTHENTICATE LOGIN.
In imap_auth_type=CHECK mode prefer LOGIN over AUTHENTICATE LOGIN (for performance reasons).
8 years ago
Aleksander Machniak 253aac5d9e Fix var name 8 years ago
Aleksander Machniak 0a7a95b714 Support LDAP GSSAPI authentication (#5703)
Requires https://git.kolab.org/rPNL1d87f98d300645e15b7ad2819fcffb19010a060f
8 years ago
Aleksander Machniak 59e5cef08c Allow contacts without an email address (#5079) 8 years ago
Aleksander Machniak 5101cfc67a Bump version to 1.4-git 8 years ago
Aleksander Machniak 9858c2a294 Merge branch 'master' into dev-elastic 8 years ago
Aleksander Machniak d151afd229 Fix addressbook searching by gender (#5757) 8 years ago
Aleksander Machniak 5804ef8aa2 Fix folders list sorting on Windows - if php-intl is available (#5732) 8 years ago
Aleksander Machniak 8f22c3287d Fix bug where comment notation within style tag would cause the whole style to be ignored (#5747) 8 years ago
Aleksander Machniak 9ff7b78c7e Fix conflict with _gid cookie of Google Analytics (#5748)
TODO: Review the whole code base and don't use INPUT_GPC when it's not really needed,
      in most cases we should not read $_COOKIE.
8 years ago
Aleksander Machniak e800fb5a19 Bring back unintentionally removed .SILENT suffix in STORE FLAGS command 8 years ago
Aleksander Machniak d1cf69562f CS fixes and return values fixes 8 years ago
Joel Gerber 40b51b9dc9 Add Log to STDOUT Feature (#5721)
Primarily useful for PHP applications running under PHP-FPM which in
turn is running within a Docker container. But also it is generally
useful in any situation where you want to be able to send the logs
directly to your terminal when debugging &etc.
8 years ago
Aleksander Machniak 712875bde1 Fix bug where base_dn setting was ignored inside group_filters (#5720) 8 years ago
Aleksander Machniak 72f19c079f Installer: Fix DB schema initialization on MS SQL Server 8 years ago
Aleksander Machniak e160e48069 Fix undesired effects when postgres database uses different timezone than PHP host (#5708)
Allow passing DateTime variables as query arguments. Their value will
be converted to date/time input string in format specific to the database type
(with timezone on postgres).
8 years ago
Aleksander Machniak 19fcc35a55 Fix regression in LDAP fuzzy search where it always used prefix search instead (#5713) 8 years ago
dfukagaw28 89a4134064 Add support for DelSp=Yes messages (#5702) 8 years ago
Aleksander Machniak 9b554cd3d5 Remove redundant spaces from generated contact names 8 years ago
ka7 9a35768c26 spelling fixes (#5690) 8 years ago
Remi Collet 132a807dff add .log suffix to all log file names 8 years ago
Thomas Bruederli bf21557873 Better fix for XSS in style tags (b59ff5ca) 8 years ago
Aleksander Machniak 05aae4711c Replace xss_entity_decode_callback() method with lambda function 8 years ago
Aleksander Machniak b59ff5cafb Fix XSS issue in handling of a style tag inside of an svg element 8 years ago
Aleksander Machniak fa32c2c471 Plugin API: Call message_part_structure hook for sub-parts of multipart/alternative message (#5678) 8 years ago
Aleksander Machniak 51dbc2e438 Merge branch 'master' of github.com:roundcube/roundcubemail 8 years ago
Aleksander Machniak 9028e77290 Enigma: Set micalg parameter to real hash algorithm used for signing 8 years ago
Shin Kojima 0b385dc946 Skip iconv for problematic ISO-2022-JP strings (#5668)
We sometimes get broken character encodings such as:
Subject: =?iso-2022-jp?B?GyRCLWo7M3l1OSk2SBsoQgo=?=
This actually is not a strict ISO-2022-JP string, but a CP50220 string
that is a variant of ISO-2022-JP with extended characters proposed by
Microsoft. Iconv can not handle these encodings well.
8 years ago
Aleksander Machniak adbab9d3e2 Merge branch 'master' into dev-elastic 8 years ago
Aleksander Machniak e2d80479d6 Make possible to set (some) config options from a skin 8 years ago
Joe Bordes 3c1d951d84 feat(Hook) full message object on message_sent event 8 years ago
Aleksander Machniak 81f67a4de2 Don't use each() deprecated in PHP 7.2 8 years ago
Aleksander Machniak dfd19206a4 sizeof() -> count() 8 years ago
Aleksander Machniak 8131629c6e Extended unified searchform object for templates engine 8 years ago
Aleksander Machniak e08f22ef28 Fix bug where external content in src attribute of input/video tags was not secured (#5583) 8 years ago
Aleksander Machniak 7340360e79 Fix bug where image data URIs in css style were treated as evil/remote in mail preview (#5580) 8 years ago
Thomas Bruederli f78e2a4367 Add 1.3-beta milestone + update copyright year 8 years ago
Jens Carl de82576134 Add mime type detection under FreeBSD and Apache 2.4 (#5560) 8 years ago
Aleksander Machniak 4f5ec65a36 Close SMTP connection ASAP after the message has been sent
We should not keep the connection open until the script shuts down.
It may take long time e.g. to save the message in IMAP.
8 years ago
Aleksander Machniak a99e479cb4 Fix variable substitution in ldap host for some use-cases, e.g. new_user_identity (#5544) 8 years ago
Aleksander Machniak 32b68959b2 Merge branch 'master' of github.com:roundcube/roundcubemail 8 years ago
Aleksander Machniak a1f679adca Fixed redundancy in sql caching system and compatibility with Galera Cluster (#5439)
- Removed redundant 'created' column from cache and cache_shared tables
- Removed use of redundant data records
- Added missing primary keys (dictionary, cache, cache_shared tables)
8 years ago
Aleksander Machniak 940a27400e Use GSSAPI only if configured (#5530) 8 years ago
Aleksander Machniak 5cca1988b6 Fix write_log() return value when using syslog() and it fails 8 years ago
Aleksander Machniak a844db6a27 Merge branch 'dev-layouts' 8 years ago
Aleksander Machniak 8a76bf3783 Make sure $prefs property is an array (#5523) 8 years ago
Aleksander Machniak e306328340 Fix storing "empty" values in rcube_cache/rcube_cache_shared (#5519) 8 years ago
Aleksander Machniak 7e90de4ef5 write_record() should return boolean value 8 years ago
Aleksander Machniak 68221ed4ae Improve uppercase/lowercase/ucfirst attrib handling in rcube::gettext()
- Make ucfirst mode compatible with UTF-8
- Fix bug which made uppercase=FIRST non-working
- Replace \n with real line-break before converting char case
8 years ago
Aleksander Machniak 6e0effa54c Fix "Illegal string offset" warning in rcube::log_bug() on PHP 7.1 (#5508) 8 years ago
Aleksander Machniak e17e8851f1 CS improvements, _xor() method replaced with an anonymous function 8 years ago
Aleksander Machniak 556c1725a7 Unify automatic marking as \Seen in preview pane, full-page and extwin views (#5071)
We now have one 'mail_read_time' option that works for all cases.
Option 'preview_pane_mark_read' has been removed and marked as an alias.
8 years ago
Aleksander Machniak f43f5bf93f Use JSON_PRETTY_PRINT in devel_mode
This effectively makes PHP 5.4 a real requirement
8 years ago
Aleksander Machniak 4e0532808d Fix bug where it wasn't possible to store more that 2MB objects in memcache/apc (#5452)
Added memcache_max_allowed_packet and apc_max_allowed_packet settings
8 years ago
Aleksander Machniak cf9f0d8829 Fix bug where IMAP password could be exposed via error message (#5472) 8 years ago
Aleksander Machniak b8f9ba7d47 Fix bug where deleting folders with subfolders could fail in some cases (#5466) 8 years ago
Aleksander Machniak b258b91560 Do not show inline images of unsupported mimetype (#5463) 8 years ago
Aleksander Machniak 8a51607671 Fix regression where creation of default folders wasn't functioning without prefix (#5460) 8 years ago
Aleksander Machniak 9e129383a1 Improve randomness of password salts and random hashes (#5266) 8 years ago
Aleksander Machniak 195dc11855 Support host-specific imap_conn_options/smtp_conn_options/managesieve_conn_options (#5136) 8 years ago
Aleksander Machniak 8c75dd3aa8 Add convenient method to create new session records 8 years ago
Aleksander Machniak 42ddfe5ec9 Simplify mbstring code path in rcube_charset::convert() 8 years ago
Aleksander Machniak c1c0a0d815 Implemented rcube::sleep() method for disconnecting all external connection in long-running/sleeping scripts 8 years ago
Aleksander Machniak f92052fd73 Fix so when moving to Trash we make sure the folder exists (#5192) 8 years ago
Aleksander Machniak 2999cc38a5 Generate more compact HTML5 code, e.g. use short form of boolean attributes 8 years ago
Aleksander Machniak defdf84bb7 Really fix login form regression
Remove 'form' from allowed attributes list of input field. We needed
it only for a moment, now we don't. It's also not supported by IE/Edge
which means there's no way we would need it. Maybe some day...
8 years ago
Aleksander Machniak 32e5a6bbcf Fix bug where folder creation could fail if personal namespace contained more than one entry (#5403)
+ small code improvements
8 years ago
Aleksander Machniak 43f3c5fb2a Implement "one click" attachment upload (#5024) 8 years ago
Aleksander Machniak c65bb121eb Describe Framework requirements, drop some redundant code (since we require mbstring) 8 years ago
Aleksander Machniak 9debc38724 Drop mail_header_delimiter option, since we don't use mail() we don't need it 8 years ago
Aleksander Machniak 184de7735c CS fixes (mostly phpdoc) 8 years ago
Aleksander Machniak 2298ecf7f6 Fix E_DEPRECATED warning when using Auth_SASL::factory() (#5401) 8 years ago
Aleksander Machniak 0836b213db Removed useless 'created' column from 'session' table (#5389) 8 years ago
Aleksander Machniak 94f8ce3334 Make html::parse_attrib_string() more robust
Fixes PHP Error: Expression parse error on: ($app->config->get('preview_pane',rcube_utils::get_boolean('')) == true ? ' checked=checked' : ')
8 years ago
Aleksander Machniak 062d95503e Fix bug where Message-ID domain part was tied to username instead of current identity (#5385) 8 years ago
Aleksander Machniak 55cdf1569e Support contact+group searches in all relevant places (T1360)
Before the search worked only in Addressbook, not also in Compose.
The point of the change is also to align group searches with contact searches
in that it now uses the same set of attributes. Previously groups
in Compose were searched by name only.
8 years ago
DanCld ee00d949c4 Properly set the memcache debug log file name
Properly set the debug log file name ('memcache') as $this->type is undefined
8 years ago
Aleksander Machniak 53b5ccfb0c Fix regression where LDAP results could be counted incorrectly when using VLV
... broken by d08bd0a51f where we added searching in users+groups in one request
8 years ago
Aleksander Machniak dcabc1d814 Merge remote-tracking branch 'upstream/master'
Conflicts:
	tests/Framework/Washtml.php
8 years ago
Aleksander Machniak c3fc072d97 Remove code related to magic_quotes_* and register_globals
...they do not exist in PHP 5.4 which we now require.
8 years ago
Aleksander Machniak 906cf101c3 Better time handling in rcube_utils::clean_datestr() 8 years ago
Aleksander Machniak ec1525a1e6 Remove debug code 8 years ago
Aleksander Machniak ed35267b9b Managesieve: Fix parsing of vacation date-time with non-default date_format (#5372)
Added new method rcube_utils::format_datestr() to convert date_format date
into ISO date format.
8 years ago
Aleksander Machniak 2f2765ab43 Fix regression in resizing JPEG images with Imagick (#5376) 8 years ago
Aleksander Machniak d91bad5975 Fix handling of blockquote tags with mixed case on html2text conversion (#5363) 8 years ago
Aleksander Machniak 7a7a6795f0 Support WEBP images in mail messages (#5362) 8 years ago
Aleksander Machniak 6626328e7c We already require PEAR, so it's not needed to check if PEAR class exists.
Sooner or later it will fail if PEAR does not exist, so better to do this sooner.
8 years ago
Aleksander Machniak edfd9da42a Support MathML in HTML message preview (#5182) 8 years ago
Aleksander Machniak ee895a2c96 Remove PHP mail() support, smtp_server is required now (#5340) 8 years ago
Aleksander Machniak e13deb2e47 Merge branch 'master' of github.com:roundcube/roundcubemail 8 years ago
Aleksander Machniak 930e363e55 Fix handling of 'mailto' and 'error' arguments in message_before_send hook (#5347) 8 years ago
Aleksander Machniak d2d4f867e5 Merge pull request #5350 from demis-palma/fix-encoding
Fixed wrong encoding in currency symbols
8 years ago
Aleksander Machniak dc6cfe1eec Merge pull request #5351 from fliespl/patch-1
Remove use of deprecated method Imagick::flattenImages
8 years ago
Aleksander Machniak 9a2264ba0e Fix regression where messages with no text part (but e.g. application/zip) were not displayed as an attachment (#5357) 8 years ago
fliespl 10c032165b Remove deprecated function flattenImages
flattenImages in imagick is deprecated since php 5.6. 
`PHP Deprecated:  Imagick::flattenImages method is deprecated and it's use should be avoided `


Proposed solution works with imagick 3.1.0+.
11 is used as an alternative to `Imagick::ALPHACHANNEL_REMOVE` which was added in imagick 3.2.0.
8 years ago
Demis Palma 411bd3fe82 Fixed wrong encoding in currency symbols 9 years ago
Aleksander Machniak 997e82d2b2 Merge pull request #5326 from raoulbhatia/autoload
Translate PHP namespaces into directories
9 years ago
dsoares 8e7e22c656 Avoid PHP fatal error
After last change to file `rcube_ldap.php`, my roundcube instance was getting this error:
```
PHP Fatal error:  Cannot use object of type Net_LDAP3_Result as array in ...
```
In
```php
protected function extended_search($count = false)
```
`$result = $this->ldap->search()` returns a LDAP object (whatever package we use).
If the search returns no results (and if `$is_extended_search` is false), then it gets to line 971 trying to do a `usort()` and then a `count()` on an object, instead of an array.
9 years ago
Aleksander Machniak c08ca018d8 Get rid of rcube_imap_generic::strToTime() in favor of rcube_utils::strtotime() 9 years ago
Raoul Bhatia 7122df719d Translate PHP namespaces into directories 9 years ago
Aleksander Machniak d08bd0a51f Searching in both contacts and groups when LDAP addressbook with group_filters option is used 9 years ago
Aleksander Machniak 22241a5d82 CS fixes 9 years ago
Aleksander Machniak 58c036116b Support type=password in rcube_output::get_edit_field() 9 years ago
Aleksander Machniak f2eafda539 Fix bug where microsecond format in logged date didn't work in some cases 9 years ago
Aleksander Machniak 5e1277e971 Trim error message 9 years ago
Aleksander Machniak f840abe6e0 Don't add HTTP response body/headers to the spellchecker error message (it is displayed to the user) 9 years ago
Aleksander Machniak c478536741 Make SQL selects less expensive in memory for some cases where we fetch big data chunks 9 years ago
Aleksander Machniak c76c4ed08b Workaround PHP issue by calling closelog() on script shutdown when using log_driver=syslog (#5289) 9 years ago
Aleksander Machniak d61d33a12a Fix handling of --delete argument in moduserprefs.sh script (#5296) 9 years ago
Aleksander Machniak f466899d8d Simplified code 9 years ago
Aleksander Machniak 7864a98f08 Fix searching by email address in contacts with multiple addresses (#5291) 9 years ago
Aleksander Machniak 6737e293bb Wash position:fixed style in HTML mail for better security (#5264) 9 years ago
Aleksander Machniak 0ce7c493a8 Fix multi-folder search issues in "this and subfolders" scope (#5282, #5259)
- Fix bug where multi-folder search could choose a wrong folder
- Fix bug where multi-folder search didn't work for unsubscribed INBOX
9 years ago
Aleksander Machniak 930a3ceac0 Fix bug where errors could have been not logged when per_user_logging=true 9 years ago
John Regan 3a2874c77c Remove check for multiple dots in local-part 9 years ago
John Regan 0e809364e7 Support SMTPUTF8, relax email restrictions
If the FROM/TO portions of an email use non-ASCII characters,
check that the SMTP server supports the SMTPUTF8 extension.

Additionally, change some rules for parsing email addresses to
allow for more characters. Basically, SMTPUTF8 states that
nearly any printable character is a valid character in an
email address.
9 years ago
Aleksander Machniak 3d0d5dbd0f Performance improvements in format_flowed() and unfold_flowed() 9 years ago
Aleksander Machniak afd090672c Small performance optimization 9 years ago
Aleksander Machniak 6652367d65 Fix XSS issue in href attribute on area tag (#5240, #5241) 9 years ago
Aleksander Machniak 4921c21cff Optimize SELECT response handling 9 years ago
Aleksander Machniak 344b0af9c6 Indicate that a collapsed thread has flagged children (#5013) 9 years ago
Aleksander Machniak 9796cd2063 Merge branch 'dev-rfc822-preview'
Conflicts:
	CHANGELOG
	program/steps/mail/show.inc
9 years ago
Aleksander Machniak 9634169647 Bump version number to 1.3-beta 9 years ago
Aleksander Machniak 0eece8222b Fix autoloading of 'html' class and improve autoloader performance 9 years ago
Aleksander Machniak 5e406f7b7e Disable links list when converting html2text for spellchecking 9 years ago
Aleksander Machniak 52106ffd39 Fix bug where rcube_contacts::get_record() could return cached result when requested record wasn't found (#5218) 9 years ago
Aleksander Machniak e2e56261b9 Fix handling of long script/style tags when converting to text 9 years ago
Aleksander Machniak a0f38f5fd8 Small code style improvements 9 years ago
Aleksander Machniak e8ab3d96bd Fix converting mail addresses with @www. into mailto links (#5197) 9 years ago
Aleksander Machniak d01c06eded CS fixes 9 years ago
Bostjan Skufca 70a8236cd5 mailbox/listing: Make server response for large mailbox listing faster when using threaded view
Symptom
=======
When using roundcube with mailboxes with over 60k messages, list
view was way faster than viewing in threaded view.

Mailbox index view timing:    ~360 ms
Mailbox threaded view timing: ~800 ms

Resolution
==========
Use native PHP array manipulation functions instead of rolling custom
string data reversal implementation using strpos() and substr() in a
'while' loop.

This optimization is already present in index view handler, but was missing
from threaded view.

Results after optimization
==========================
Both average out around ~360 ms response time.
9 years ago
Bernardo Silva c72446a8fc Allow pattern attribute in input
"pattern" included in the list of allowed attributes in the input tag
9 years ago
Aleksander Machniak 6f2c007d1b CS fixes: Replace use of "bool ? true : false" with just "bool" 9 years ago
Aleksander Machniak 5c253dd59e Fix so SPECIAL-USE assignments are forced only until user sets special folders (#4782)
The old behaviour where SPECIAL-USE has always a prio can be bringed back
by setting lock_special_folders=false and adding it to dont_override.
9 years ago
Aleksander Machniak 7462095f60 Small code improvements 9 years ago
Aleksander Machniak e8b6e726f6 Add message menu with viewsource and edit actions in message/rfc822 preview 9 years ago
Aleksander Machniak ce3105c58f Reply/Reply-All/Forward/Change-format buttons for message/rfc822 preview 9 years ago
Aleksander Machniak 323fa20bc8 Message/rfc822 attachment preview (#5054) 9 years ago
Aleksander Machniak 05972d7b33 Refer to Github issues instead of Trac 9 years ago
Aleksander Machniak 791ee65d2e Fix so contactlist_fields option can be set via config file 9 years ago
Aleksander Machniak 348ec70f12 Export vCard PHOTO with "ENCODING=b" (instead of "ENCODING=B") as specified in RFC2426 9 years ago
Thomas Bruederli 4a408843b0 Protect download urls against CSRF using unique request tokens (#1490642)
Send X-Frame-Options headers with every HTTP response
9 years ago
Aleksander Machniak d4df3748cf Require Net_Socket >= 1.0.12 (because of timeout=0 bugfix) 9 years ago
Aleksander Machniak ca34ba139e CS fixes 9 years ago
Aleksander Machniak 4c0cb96a48 Enigma: Fix missing html/plain switch on multipart/signed messages (#1490649) 9 years ago
Aleksander Machniak e91c35c534 Fix background color on selected and focused addressbook 9 years ago
Aleksander Machniak 8dc756f319 Fix bug in long recipients list parsing for cases where recipient name contained @-char (#1490653) 9 years ago
Aleksander Machniak 53fa08d8ae Enigma: Code refactoring with better handling of encrypted-inside-encrypted (e.g. forwarded) and signed+ncrypted messages 9 years ago
Aleksander Machniak c9e2ab488e Enigma: Fix handling of encrypted + signed messages (#1490632) 9 years ago
Aleksander Machniak 0e77b6f1b3 Fix regression where xml mode could be used to parse xhtml messages causing empty result 9 years ago