Version 12, last updated by Xander Jansen at September 01, 2011 UTC
Notes on 1-0-1 fixes and stuff
#379: IPv6 logging bug
Defects
1: the client IPv6 address wasn't stored in the logs db-table
2: the db column for the address was too short
Files changed
classes/DB_Input_Checks.php
classes/Functions.php
scripts/filesender_db.sql
Caveats
The fixes activate code that requires the gmp PHP module. This module is part of PHP since version 4.0.4 and is enabled on most if not all stock PHP installs. Can be checked with:
% php -r 'phpinfo(8);' | grep -i gmp
gmp
gmp support => enabled
GMP version => 4.1.4
Upgrade notes
When upgrading from previous versions you should fix the relevant column
size in the database with:
#sudo -u postgres psql filesender
ALTER TABLE files ALTER fileip6address TYPE character varying(45);
\q
New installs will automatically create the correct column size. The code checks for the actual size of the fileip6address column and will truncate the address to be stored if the above ALTER TABLE statement isn't done on existing installs.
Testing Notes
Fixes have been tested on filesender.surfnet.nl. No specific additional testing required. QA check will be done by checking the other 1.0.1 tests done over IPv6.
#380, #389, #390: fix the max_gears_upload_size check
Defect and fix
The check on the max_gears_upload_size configurable wasn't implemented. Fixed by adding a check in the Flash UI.
Files changed
flex/src/org/ricoshae/upload_gears.mxml
www/swf/filesender.swf
Testing notes
With a Gears upload selecting empty files (0 bytes), files > 2G on a Mac and files larger than the configured gears upload maximum should give an immediate popup stating that the file is too large (or empty) and the file should not be 'selected' (i.e. filled in as file to be uploaded) and there should be no Send button.
#381: allow multiple email addresses to be separated by both a comma and a semi-colon
Defect and fix
People seem to be used to ; as separator. To cater for this both the standard separator (comma) and the 'popular' separator (semicolon) are now accepted. They can both be used.
Files changed
flex/src/org/ricoshae/newEmail.mxml
flex/src/org/ricoshae/vouchers.mxml
flex/src/org/ricoshae/upload_std.mxml
flex/src/org/ricoshae/upload_gears.mxml
www/swf/filesender.swf
Testing Notes
Multiple email addresses entered with a comma, a semicolon or a mix of both should be used as valid recipient addresses (i.e. generate multiple valid messages to the addresses entered and should be stored as separate entries for each recipient). This should work with both Flash and Gears uploads (authenticated and from a voucher) and with adding recipients to a file or sending a voucher. Tooltips should reflect the two separators in all cases.
#383: Trim surrounding whitespace with email adresses
Defect and fix
Email addresses entered with whitespace where stored including the whitespace. This has been fixed by trimming surrounding whitespace.
Files changed
flex/src/org/ricoshae/upload_std.mxml
flex/src/org/ricoshae/upload_gears.mxml
flex/src/org/ricoshae/newEmail.mxml
www/swf/filesender.swf
Testing Notes
When entering multiple addresses with whitespace all addresses should be listed in the MyFiles table without whitespace (both after an upload or after adding recipients to a file)
#271: SimpleSAMLphp 1.7+ compatibility
Defect and fix
As of SSP 1.7 an additional cookie is required for SAML authentication. This cookie wasn't propagated when uploading with Flash. Code has been added to use the additional cookie when set and when uploading with Flash.
Affected files
- classes/AuthSaml.php
- flex/src/filesender.mxml
- flex/src/org/ricoshae/upload_std.mxml
- www/fs_uploadit.php
Testing notes
Code changes should not interfere with existing installations using SSP < 1.7+. Required tests against a SSP < 1.7+ install can be restricted to 'flash-only' uploads, both authenticated and from a voucher.
#384: EXPERIMENTAL: Mail Bounce functionality
This new functionality is not enabled by default and to enable it will require extra manual steps. The only changes against the files in te 1.0 codebase are in Mail.php (slightly modified sendemail function). All other files/code/config changes that are needed will be supplied in the 1.0.1 release but without changing anything.
Need to think about a non-intrusive way to do this, Work In progress.....
Changed files
classes/Mail.php
- Extra type parameter (not needed for normal operations, doesn't interfere with existing code)
- reshuffling of existing code, added some extra control statements and code to handle bounce notifications.
Changes when NOT activated
- Reply-To: header in outgoing mail has been removed
- A X-FileSenderUID: header is now added in all outgoing mails containing the UID of the file/voucher
Added files
cron/emailbouncehandler.php
Extra directory tree needed when activated
This shouldn't be in the 1.0.1 packages but need to be manually created.
<filesender-base>/maildrop/new
<filesender-base>/maildrop/done
<filesender-base>/maildrop/failure
config.php changes needed for activation
The following directives should be added to config.php (could be supplied as a separate file to be manually inserted)
// email bounce handling
$config['return_path'] = "";
$config['emailbounce_location'] = '/usr/share/filesender/maildrop/new';
$config['emailbounce_subject'] = "{siteName}: Email notification sending failure";
$config['bouncenotification'] = '{CRLF}--simple_mime_boundary{CRLF}Content-type:text/plain; charset={charset}{CRLF}{CRLF}
Dear Sir, Madam,
The {siteName} service attempted to send an email to {fileoriginalto} on your behalf.
The message was rejected by the remote site, the most common reason
being an error in the email address entered for the recipient.
Please log into {siteName} to check the recipient address.
{siteName} allows adding new recipients to files without needing to upload the file again, from the table in "My Files". In the case of Vouchers however, a new voucher must be issued.
Best regards,
{siteName}{CRLF}{CRLF}--simple_mime_boundary{CRLF}Content-type:text/html; charset={charset}{CRLF}{CRLF}
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset={charset}">
</HEAD>
<BODY>
<P>Dear Sir, Madam,</P>
<P>The {siteName} service attempted to send an email to {fileoriginalto} on your behalf.</P>
<P>The message was rejected by the remote site, the most common reason
being an error in the email address entered for the recipient.</P>
<P>Please log into {siteName} to check the recipient address.</P>
<P>{siteName} allows adding new recipients to files without needing to upload the file again, from the table in "My Files". In the case of Vouchers however, a new voucher must be issued.</P>
<P>Best regards,</P>
<P>{siteName}</P>
</BODY>
</HTML>{CRLF}{CRLF}--simple_mime_boundary
Testing Notes
All mail sending functions should be tested against an install without the functionality activated, i.e. with a normal 1.0 config.php (unaltered) and without the extra scripts and directory trees. The only visible changes should be the extra X-FileSenderUID: header and the lack of a Reply-To: header.
To be determined
script to create maildrop tree?
sample config-experimental.php files?
sample cronjob file?
