Koha/misc
Magnus Enger e8a24c35f6 Bug 11188 - Make gather_print_notices.pl die on failed open()
Problem:
If you tell gather_print_notices.pl to write output to a location
you do not have write access to, it will silently fail to write the
data, but still mark unsent messages as sent.

Solution:
This patch adds two lines of defense:
1. Check that the location given for the output is writable
2. use "open() or die" instead of just "open()" when writing the
   output
The first measure should catch most of the potential errors, but
I guess a directory can be writable, but the open() still can fail
because the disk is full or something similar.

To test:
- Make sure you have some unsent messages in the message_queue table,
  that do not have an email adress
- Apply the patch
- Run the script, pointing at a location you do not have access to
  write to. Check that the script exits with an appropriate error
  message, and that the unsent messages are still unsent. Do this
  both with and without the -s option.
- To fake passing the first line of defence, comment out line 62
  and put this in instead:
  if ( !$output_directory || !-d $output_directory ) {
- Run the script again as above, check you get an appropriate
  error and that the message queue is not touched
- Reset line 62 to how it was
- Run the script against a directory you do have access to write to
  and check that output is produced as expected and that messages
  are marked as sent
- Sign off

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Passes all tests and QA script.
Works as described.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-12-30 15:12:48 +00:00
..
admin
bin
cronjobs Bug 11188 - Make gather_print_notices.pl die on failed open() 2013-12-30 15:12:48 +00:00
devel bug 8798: (follow-up) pass DB connection params to DBIC schema updater explicitly 2013-10-14 21:08:03 +00:00
interface_customization
load_testing Bug 11124: QA Follow-up resolving a warning and three typos 2013-12-13 19:49:09 +00:00
maintenance Bug 9192: let UNIMARC_sync_date_created_with_marc_biblio.pl create fields if needed 2013-10-23 14:20:14 +00:00
migration_tools Bug 11412: fix potential bulkmarcimport crash when searching for duplicates in authorities 2013-12-26 15:52:02 +00:00
release_notes release notes for Koha 3.14.0 2013-11-21 01:40:18 +00:00
translator Translation update - split staff UI and help files 2013-12-17 16:22:49 -03:00
batchCompareMARCvsFrameworks.pl
batchdeletebiblios.pl
batchDeleteUnusedSubfields.pl
batchImportMARCWithBiblionumbers.pl
batchRebuildBiblioTables.pl
batchRepairMissingBiblionumbers.pl
batchupdateISBNs.pl
check_sysprefs.pl
commit_file.pl Bug 7131: (follow-up) update the command-line import tools 2013-10-30 04:35:17 +00:00
export_borrowers.pl
exportauth.pl
koha-install-log
kohalib.pl
link_bibs_to_authorities.pl
mod_zebraqueue.pl
perlmodule_ls.pl
perlmodule_rm.pl
recreateIssueStatistics.pl
sax_parser_print.pl
sax_parser_test.pl
stage_file.pl Bug 8015: (follow-up) update stage_file.pl 2013-10-31 22:51:13 +00:00