-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChangeLog
More file actions
2281 lines (2050 loc) · 115 KB
/
Copy pathChangeLog
File metadata and controls
2281 lines (2050 loc) · 115 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Version 6.15-8 Production
- Fixed security vulnerability in handling of files uploaded in maliciously-
named chunks.
- Fixed security vulnerability in handling of files uploaded with maliciously-
named temp filenames.
- There have been no indications that either of these have been exploited in
the wild, but I would still advise all sites to upgrade.
Version 6.15-7 Production
- Same as 6.15-6 but hopefully with apt package signature correct.
Version 6.15-6 Production
- Replaced old SHA1 signing keys with newer ones that work with RHEL9 etc.
Version 6.14-5 Beta
- CSS tweak to fix alignment of close buttons in popup dialogs.
Version 6.14-4 Beta
- Added AlmaLinux 9 support to the ZendTo Installer.
- SimpleSAMLphp changed to require php-pecl-memcache instead of php-memcached
due to RPM changes by RedHat. php-pecl-memcache comes from EPEL now.
Version 6.14-3 Beta
- Updated external libraries and plug-ins to latest version.
- Added SMTP OAuth2 support from Ben Westover (many thanks!).
Version 6.14-2 Beta
- Updated external libraries and plug-ins to latest version.
- Added new "SMTPextraHeaders" preferences.php setting to allow
you to add extra custom mail headers to all outgoing mail.
- Improved defences of sender organization setting.
- Improved defences of library filename choosing.
- Improved default websites created by the Installer to include
the /saml directory for configuring simplesamlphp if you use it.
- Added www.gstatic.cn to list of valid source hosts for Google
reCAPTCHA so that it works better in China. You will need to update
this in your Apache configuration "Content-Security-Policy" header.
Version 6.13-3 Production
- Fix for systems using PHP's mail() function instead of PHPMailer,
where mail headers could get corrupted due to incorrect line
separators. Thanks to Adam Thorn for finding & diagnosing this.
Version 6.13-2 Production
- Patch by Cory Musil to Enum.php as it only worked in PHP8 and
broke "Download All Files as a Zip" button in PHP7.
Version 6.13-1 Production
- Identical code to 6.12-12 beta.
Version 6.12-12 Beta
- Upgraded moment.js to latest to fix security vulnerabilities in it.
Version 6.12-11 Beta
- Upgraded dependencies and libraries to latest available.
Version 6.12-10 Beta
- Docker bug fixed where ZendTo's database file was created with
incorrect permissions.
Version 6.12-9 Beta
- Upgraded Smarty to version 4.1 which supports PHP 8.1.
Version 6.12-8 Beta
- Few minor tweaks in Docker configuration so it doesn't contain any
settings personal to me.
- Docker build documented at zend.to/docker.
Version 6.12-7 Beta
- Docker supported (finally). The image is julesfm/zendto.
- Minor tweaks to build and support scripts to enable the Docker port.
Version 6.12-1 Beta
- Refreshed all included/dependent packages.
- Updated Installer for Ubuntu 21, Rocky Linux 8.5.
- Updated Installer to use PHP 8 if it finds it.
- ZendTo now runs on PHP 8.0 and 8.1.
- Updated ZendTo-saml to latest version.
Version 6.11-3 Production
- Installer clamav AppArmor configuration improved. If clamd (clamav-
daemon) won't start, download the Installer and re-run the ClamAV
section.
- Improvement to plain-text version of new-dropoff email to correct a
translation problem.
Version 6.11-2 Production
- Bug-fix in request handling.
Version 6.11-1 Production
- Minor logging change.
Version 6.10-10 Beta
- Error handling improved when sending drop-offs, to match improvements
made the sending requests.
- Improved Italian translation, courtesy of Domenico Porto.
- Requests shown in an Inbox, or the global list of all drop-offs, will
now be sorted correctly by their date of creation, not their start date.
Version 6.10-9 Beta
- Handling of errors affecting some but not all recipients of a request
is now greatly improved. It says exactly which succeeded and which failed.
Version 6.10-8 Beta
- Added schema upgrade code to %post scriptlet of RPM package.
- Fixed Installer so Debian won't attempt to install PHP 8.
Version 6.10-7 Beta
- To avoid timezone issues, requests by default start yesterday.
- Security fix in tmp_name handling of uploaded files.
- Corrected typo in fr_FR translation.
- Added /opt/zendto/templates/checksums file, so that the new tool
/opt/zendto/sbin/check_templates can read it and verify you have
all the correct versions of all the template files in place.
It will offer to repair any that are wrong (you might want to take a
backup first!).
The apt/deb package is particularly susceptible to this as the default
is usually the wrong choice when you are asked by the apt/dpkg command.
This new tool is run automatically by the /opt/zendto/bin/upgrade
command.
Version 6.10-4 Beta
- AD Authenticator now supports being sent paged results by the AD server.
Version 6.10-1 Beta
- The preferences.php settings 'authLDAPMemberKey' and 'authLDAPMemberRole'
used to apply to the AD authenticator as well as the LDAP one, despite
not having any digit on the end.
I have fixed that. The AD versions now have 1, 2 or 3 appended to them,
and the one without a digit now *only* applies to LDAP.
- New preferences.php settings 'authLDAPMemberRecurse1' (and 2 and 3) is
TRUE by default.
If you want AD to recursively search all the groups this user is a member
of, including groups containing other groups, set this to TRUE.
If FALSE then it just checks the 'memberOf' attribute (or whatever you set
'authLDAPMemberKey1' and 2 and 3 to) of the user to see if it contains the
group you're trying to match.
Note the recursive search is done by the AD server itself.
If AD groups don't appear to work, set this to FALSE.
Version 6.09-2 Production
- For sites using the 'authLDAPMemberRole' (which happens to work for AD
as well as LDAP), the search for groups now requests only the attributes
it needs, which dramatically shrinks the size of the results sent by
your AD/LDAP server.
Version 6.09-1 Production
- One-time download links. In the "New Drop-off" form, your users
can now tick a box 'Only allow 1 download'. This changes the new drop-
off so that the recipient can only download each file once.
It only works when there is 1 recipient. If the recipient needs another
chance to download a file, the sender can easily trigger this using the
"Resend Dropoff" button via their ZendTo Outbox page.
This new checkbox is controlled by 2 new preferences.php settings
'showOneTimeLinksCheckbox' and 'defaultOneTimeLinks'.
- Expiry time of a new drop-off can be set precisely, using a date+time
picker.
- Your Inbox now also lists all unexpired "requests for drop-offs",
highlighted in pale yellow. From each one, you can delete it or re-send it.
- AD authentication: your Inbox now lists all drop-offs addressed to any of
you email addresses, not just your primary one. Note this is available
only with on-premises AD, Azure AD doesn't support any multi-valued
attributes.
Version 6.08-17 Beta
- Changed RPM spec file to overwrite translations by default. Otherwise
new phrases are not picked up correctly.
- Fixed HTML tag typos.
Version 6.08-16 Beta
- Translations updated. Thanks to my translators!
- Translations updated to include at least a rough translation of the
text for single-use links and summaries of requests.
Version 6.08-15 Beta
- Download links sent by email no longer obviously include any email address.
- Cookie domain for "GDPR Consent" cookie corrected for improved security.
- SQL schema update bug fixed.
Version 6.08-13 Beta
- More beta bugs fixed. Thanks again to Michael J Banks for his testing and
bug reporting.
Version 6.08-11 Beta
- Bugs fixed from previous beta. Thanks for Michael J Banks for the reports.
Version 6.08-10 Beta
- Added active "requests for drop-offs" to the Inbox page. They are shown
with a pale yellow background. You can click on them to show all the
details of each request, along with access to a "Resend" and "Delete"
button for that request.
- These also now appear in the Globals Drop-off List.
- Removed the "wordlist" preferences.php setting. It will now
always use 3 3-digit numbers as the request key. Using words
caused too many problems.
- Fixed long-standing bug where Chrome did not show bold text in bold.
Version 6.08-8 Beta
- If you are using AD authentication, the Inbox page will now show
drop-offs addressed to any of your 'proxyAddresses' as well as
your main email address.
Version 6.08-7 Beta
- 'samlAttributesMap' entries can now combine multiple attribute
values into a single string. For example if using Google's SAML
auth service, you might have a "firstname" and "lastname"
attributes, but no single attribute that combines them.
So now you can put
'displayName' => 'firstname+lastname'
in the 'samlAttributesMap' and it will join the attributes into
a single string, each separated by a space.
- Now shows date+time picker in new drop-off form, only shown if
'defaultNumberOfDaysToRetain' is set non-zero in preferences.php,
and 'showExactExpiryDate' is set to TRUE in preferences.php.
Version 6.08-5 Beta
- Added 2 missing indexes to MySQL schema.
- Slightly improved the display of usesd one-time links.
Version 6.08-4 Beta
- Attempts to download one-time files for a 2nd time now gives a 0-
length file, instead of some HTML. Much better.
- One-time download links. In the "New Drop-off" form, your users
can now tick a box 'Only allow 1 download'. This changes the new drop-
off so that the recipient can only download each file once.
It only works when there is 1 recipient. If the recipient needs another
chance to download a file, the sender can easily trigger this using the
"Resend Dropoff" button via their ZendTo Outbox page.
This new checkbox is controlled by 2 new preferences.php settings
'showOneTimeLinksCheckbox' and 'defaultOneTimeLinks'.
- Now that requests for drop-offs can be time/date controlled by
using some nice controls, your users could create a request that
was valid for a long time into the future (about 1 year).
I have added a new preferences.php setting 'maxRequestEndDays'
which imposes a limit on how far ahead they can set either the
start or end date for a new request for a drop-off.
Version 6.07-1 Production
- Long overdue production release, including all the Beta changes
from 6.06 that are listed below.
Version 6.06-4 Beta
- Installer for CentOS/RedHat 8 fixed so it avoids PHP 8.
- XSS bug fixed when showing drop-offs with filenames containing
nasty characters.
- .deb "conffiles" list should, according to their latest "testing"
release, list absolute pathnames. So I've fixed that.
- Bug fixed in main menu, where setting "AllowExternalPickups=FALSE"
would also remove the "Drop-off" button if you were not logged in.
Version 6.06-3 Beta
- Number of days a drop-off lives before expiry shown at the bottom
of the main menu is now the default number of days, not the maximum
number of days.
- Template caching totally disabled.
- Bug fixed where requesting a drop-off from a different timezone from
the server would result in incorrect start/expiry times being set.
- Updated moment.js to latest version.
- Changed yum/rpm upgrade behaviour for templates (*.tpl) like this:
Before, if you changed a template file and then upgraded to a newer
RPM with a newer version of that template file, your old one would be
left in place and the new one installed with ".rpmnew" on the end.
You would have to know to check for these and handle them appropriately
or else most likely your ZendTo would not work.
Now, your old one will be renamed to ".rpmsave" and the new one
installed and used. Your ZendTo site will work, but you may be missing
any local customisations you had made before. But the old version is
still there as ".rpmsave" so you can apply your changes to the new one.
Note: Hopefully you use the locale translations system to change the
text displayed by the templates, so you aren't modifying them
at all!
Version 6.06-2 Beta
- Corrected missing parameter to validUsername() when attempting to
unlock users.
- Fixed bug in language changing, which could have resulted in changing
language not immediately taking effect.
Version 6.06-1 Beta
- Minor change to header.tpl to allow Manty to set $zendToURL to '' and
still have the Home button tidily.
- Increased length of DB fields storing Organization names to 256
characters, and added length checks to "request a drop-off" code so
excessively long organization names won't break anything.
- Added "--startDateTime" and "--sendemail" parameters to "autorequest"
automation script.
Version 6.05-4 Production
- Fixed bugs stopping LDAP (but not AD) authentication from working.
Version 6.05-2 Production
- Fixed quoting bug in new drop-off form shown by French translation.
Version 6.05-1 Production
- Improve attempt to stop browsers auto-filling encryption passphrase
when creating a new encrypted drop-off, and when creating a request
for an encrypted drop-off.
- Fixed bug in makelanguages (and the Installer) on Debian 10.
Version 6.04-2 Beta
- Fixed bug in LDAP authenticator where setting a value to '' gave a
different result from leaving it unset.
- Log web browser info when creating a drop-off. To get an additional
summary, you will need to set your php.ini 'browscap' setting to
'/opt/zendto/lib/browscap.ini'.
- Added more logging of authentication failures to help logwatch users.
- Fixed string formatting bugs in AD authentication logging.
Version 6.04-1 Beta
- Overhauled the "request a drop-off" page.
- Added new feature to requests: you can now set a start and end date+time.
Outside those times, the request won't work.
- Fixed bug where admins logging in via SAML would not see statistics
button in main menu. Alternative workaround is to list 'authAdmins'
users in 'authStats' as well.
- Changed 'Content-Security-Policy' header definition in Apache config.
Exact change is to replace "img-src *" with "img-src data: *", then
restart Apache. Otherwise the date/time picker in the "Request a
Drop-off" form will not display correctly.
- Subject in new drop-off form can now only be edited if you are logged in.
- Fixed bug in unlock-user to get all the reporting correct, and fix and
improve logging. Thanks Marlon!
- Improved "upgrade" command so it warns you if you have *.rpmnew or
*.dpkg-dist files in your templates dir that you need to move into place
by hand, as you had modified the previous versions.
- Improved "upgrade" command so it checks you have a 'Content-Security-
Policy' header definition in your Apache config for the https ZendTo site.
And if so, adds "data:" to the list of valid sources of images.
Otherwise the date+time pickers in the "request a drop-off" page will
look messed up. If it doesn't find the header definition at all, it
suggests the change you need to make.
Version 6.03-5 Production
- Fixed bug where the wrong reminder emails were being sent to users.
- Fixed formatting error in plain-text emails about a new drop-off.
- Fixed bug where changing language immediately before/after doing SAML
login could produce blank page.
- Fixed bug where "Decline" button in GDPR cookie-consent bar was not
being translated.
- Updated Turkish and Brazilian Portuguese translations.
Version 6.03-4 Production
- HTML emails now display correctly on systems running in Dark mode.
- 'showEmailPasscodeCheckbox' now has the expected result in the New
Drop-off form.
- Fixed bug where failed upload of 1 file chunk would cause whole drop-
off upload to fail without reporting error correctly.
- Fixed 2 Javascript bugs in error handling for "new drop-off" upload code.
- Improved logging of chunk upload errors.
- Logging of new drop-offs and downloaded files now includes the user's
language/locale code, so you can see your users' most common languages.
- Tiny formatting change in drop-off summary page to improve readibility.
Version 6.03-3 Production
- Bug fixed where you if you hid the ClaimID column in the Inbox/Outbox list,
it wouldn't correctly show the drop-off that was clicked on.
Version 6.03-2 Production
- New Turkish translation. Many thanks to Hüseyin GÜÇ and Bilgehan
POYRAZ for this!
- Added check to ensure PHP curl module is installed, which you might
not have installed depending on your upgrade path.
- Speeded up HTML template engine.
- Installer for CentOS/RedHat 8 checks all language packs are installed.
Version 6.03-1 Production
- New features since the last Production release:
- Users can now edit the Subject line of a new drop-off.
- "Export as CSV" button added to Inbox, Outbox and "Global List of
Drop-offs" pages. It exports the visible columns.
- Those same pages now have toggles to show/hide each column, and one
for all columns.
- Improved logging of failed attempts to login to admin accounts.
- "adduser" checks for "<" and ">" in usernames typed by people taking
the syntax guidance too literally.
- "autolist" improved to include pick-up information.
- Bug fixed where incorrect expiry times were shown in reminder emails.
Version 6.02-5 Beta
- Bug fixed where totally wrong expiry times were shown in reminder
emails. Many thanks to Susoczki Attila for reporting this!
Version 6.02-4 Beta
- Documented how to potentially improve Apache performance and reduce
memory use by using php-fpm instead of mod_php.
Follow the steps at zend.to/phpfpm.
- Minor speed improvements to code run at the start of every page.
Version 6.02-3 Beta
- Logging of user authentication attempts now tells you if it was an
attempt to login as an admin user.
- Moved the "Export as CSV" buttons to top right corner, tidier.
- "Export as CSV" now only exports visible columns.
- Show/hide visibility toggles now has an "All" columns toggle.
Version 6.02-2 Beta
- "autolist" output now includes email Subject lines.
- Added column visibility toggles to the "Inbox" and "Outbox" pages.
- Added "Export as CSV" to Inbox, Outbox and Global list pages.
- Now shows what the email subject line would have been if a drop-off was
created before this functionality was added.
Version 6.02-1 Beta
- Users can now edit the Subject line of a new drop-off.
- "adduser" now looks for "<" in the supplied username, to help out new
sysadmins who don't recognise use of <> as syntax markers.
- Updated Polish translation. Thanks Dizzy!
- "autolist" output now includes data about all pick-ups.
But if you just want to know if there were any at all, for a particular
drop-off, then check its 'numPickups' value.
Version 6.01-2 Production
- If a request for an encrypted drop-off was sent, but the resulting
drop-off failed to read the passphrase from the database due to a DB
problem, it now raises an error and rejects the drop-off attempt.
- Changed logging of expired drop-offs to be done by "auto-expiry" instead
of "nightly-clear-up", as it's now done hourly.
Version 6.01-1 Production
- Bug fixed in "autolist" command to handle very large dumps of metadata.
- Added column visibility toggles to Global Drop-off List page. If you
like them, I can easily add them to the Inbox and Outbox view too.
Version 6.0-2 Production
- Updated Italian translation. Thanks Massimo!
- Improved php.ini error checking and reporting.
- Improved Installer to update php.ini for fpm as well as apache2 on
Ubuntu/Debian based systems.
- Fixed quoting issues with French translation.
- Fixed bug where "days until drop-off expires" box was still visible
despite setting preferences.php so it should not show.
- Fixed template bug where login hint text on main menu was being
over-escaped.
Version 6.0-1 Production
- Production release of new major version 6.
- New major features since version 5 are:
* Login via OAuth, Yubikeys etc with SAML-based authentication.
* Uploaded files are now sent in small chunks ('maxChunkSize'), and
are automatically retried on failure, to attempt to avoid problems
with network security appliances and the Great Firewall of China.
* Recipients can be made to read and acknowledge some legal text
(or instructions) before being able to download files.
* Users can set the lifetime of a drop-off (within limits) allowing
much shorter-lived drop-offs for sensitive data.
* Now ships in 13 languages.
* Improved automation ability with new "autolist" command that
dumps all drop-off metadata as JSON.
* Admin logins can be restricted to local IP addresses.
* internaldomains.conf can now list individual email addresses as
well as entire domains, so you can give usage permission to someone
with a @gmail.com address, for example.
* For the full list of changes and fixes, read below for all the 5.24
beta releases.
- Removed code from AD authenticator that attempted to sanitise the
username in some situations. This caused login problems for sites
where the sAMAccountName has '@' in it.
- Fixed bug in AD authenticator where "ldaps://" could be pre-pended
to the server name when it was already there.
Version 5.24-11 Beta
- New 'autolist' command in /opt/zendto/bin. This will list all the data
about all the current drop-offs. Output is in JSON format.
- Written some documentation for the automation features that allow you
to drive ZendTo from scripts and other code, with no human interaction.
Version 5.24-10 Beta
- Typos fixed in German translation.
Version 5.24-9 Beta
- German translation update, thanks to Garry Glendown.
- Italian translation update, thanks to Massimo Forni.
- French translation update, thanks to George Kandalaft.
- Added auto-creation of SQLite database in RPM post-installation
script.
Version 5.24-8 Beta
- Fixed crash bug in MySQL support.
- Fixed bug in Installer where it couldn't find the EPEL repo. This broke
the installation of a recent version of PHP, on CentOS & RedHat-based
systems.
- Update to post-installation scripts in zendto-saml package.
Version 5.24-7 Beta
- The upload of each chunk of a file will be retried up to 5 times if it
fails. After 5 attempts on a chunk, it will abandon the whole upload.
But the retry counter restarts for every chunk. So if you have users
who still cannot upload large files successfully, reduce the value of
'uploadChunkSize'.
- Fixed bug where file uploading in chunks failed if the first file on
the new drop-off form (or all the files on the form) are selections
from the library, not files needing to be uploaded.
Version 5.24-6 Beta
- Fixed bug in cron job causing failure of uploading a new drop-off over
a slow network, when uploading 1 file took over 4 hours.
- Added "--expirydatetime" option to the "autorequest" script so you can
exactly specify when you want the request to expire. Very useful if
you are requesting bids for contracts, answers to exams or anything with
an exact closure point. Note this is specified in the timezone of the
ZendTo server, not necessarily the same timezone as the computer running
the "autorequest" command. Thanks to Luigi Capriotti for the idea and his
code for this.
Version 5.24-5 Beta
- Fixed bug in "upgrade" command. It generated an unreadable new
'samlAttributesMap' setting in preferences.php. You will find all your
old versions of the file in /opt/zendto/config/old.
Version 5.24-4 Beta
- Considering the major features introduced in these betas, it's time for
a new major version number.
- Users can now change the number of days before a new drop-off expires,
on a per-dropoff basis. It has to be within 0.1 and the value of
'numberOfDaysToRetain' set in preferences.php. You can specify the default
value with 'defaultNumberOfDaysToRetain'. If it is set to 0, the feature
is disabled and the "new drop-off" form setting does not appear.
- Admin logins are now restricted to come only from any IP included in the
'localIPSubnets' setting in preferences.php. If you need to allow admin
logins from outside your network, set the new 'adminLoginsMustBeLocal'
setting to FALSE. It is TRUE by default.
Version 5.24-3 Beta
- Added support for uploading files in small "chunks". Many network security
appliances and some DoS protection services (e.g. Cloudflare) impose a
maximum size limit on HTTP requests. Previously, this has limited the
size of files you could send with ZendTo, as all the files were sent in
1 big HTTP request. There is a new preferences.php setting
'uploadChunkSize'. If this is 0 then it behaves as it always has before.
But if greater than zero, it limits the maximum quantity of data that is
sent in 1 request. Try setting it to 99000000 (99MB) and see if large
drop-offs now upload successfully. Reduce it as necessary, testing each
time. The end users should not notice any change in behaviour at all.
Version 5.24-2 Beta
- Added support for SAML authentication using SimpleSAMLphp.
Read the beta page at zend.to/beta.php for info on how to get started
with this. This is *NOT* ready for production use! You have been warned!
Version 5.24-1 Beta
- If you *really* need to, you can now automatically generate a nightly
email summary of all the previous 24 hours' new drop-offs. This can
be email to a list of administrative email addresses set by the new
'nightlySummaryEmailAddresses' setting in preferences.php.
To restrict it to just those generated by your internal or external
users, there is also a new setting 'nightlySummaryContains' which can
be set to 1 of these 3 values: 'internal', 'external' or 'both'.
If you must use this monitoring facility, beware of laws about data
privacy, and laws about employee privacy and monitoring of their work!
Version 5.23-4 Production
- No longer attempt to delete/cleanup old drop-offs at the end of the rpm/deb
upgrade process. Thanks to Arnaud Chevalier for pointing out this bug.
Version 5.23-3 Production
- Bug-fixes for calls to getClientIP().
- Improved Debian 10 Installer so it switches off "PrivateTmp" in Apache's
systemd service definition.
Version 5.23-2 Production
- Bug-fix where requesting a drop-off was failing. Thanks to Orion Poplawski
for reporting this.
Version 5.23-1 Production
- Added new Hungarian translation. Thanks to Miklós Toldi fir this.
Version 5.22-4 Beta
- Added new preferences.php setting 'allowExternalRecipients'. It is normally
set to TRUE, and defaults to TRUE. If you set if to FALSE, then all
drop-off recipients must be listed in internaldomains.conf, even when it is
a logged-in user sending a drop-off. It effectively stops files being able
to leak outside your organisation, as users cannot address external users.
Version 5.22-3 Beta
- Added a new "terms and conditions waiver" feature. If used, this forces
recipients to read some text (could be legal stuff, could be instructions)
and tick a check box to say they have read and agreed to it. Until they
have ticked the box, they cannot see any of the download links.
It is controlled by 2 settings in preferences.php:
'showRecipientsWaiverCheckbox' and 'defaultRecipientsWaiver'.
Using these (as explained in the comments in preferences.php), an admin
can choose to not use this option at all, or to mandate its use, as well
as leaving the decision to the users. The default "terms and conditions"
text supplied just contains instructions on how to change that text, and
how to disable the feature completely if the site doesn't want it.
- Added support to internaldomains.conf to list individual email addresses,
and lines like "*@example.com" so you can think in email addresses instead
of domain names. Note that "*@example.com" differs from "example.com" in that
the "@" version does *not* include sub-domains of example.com.
Version 5.22-2 Beta
- Added new Russian translation. Thanks to Dizzy Easy for this.
- Added new Polish translation. Thanks to Marcel Richter for this.
- Added config option (default=FALSE) to set whether we might be behind a
load balancer. If your ZendTo log says all use is coming from the same
IP address, then set 'behindLoadBalancer' to TRUE in preferences.php.
It is FALSE by default as, without a load balancer, the HTTP headers
used can be easily faked. Thanks to Jack Cable for this suggestion.
- Added config option 'requestSenderOrgIsEditable' (default=TRUE) to set
whether, in the "request a drop-off" form, the organization name should
be editable or not. In small or simple orgs you probably want this to be
FALSE so users cannot change it, but TRUE in large/complex organizations
your users may well have valid reasons for changing it to reflect the
name of their part of the organization (think government-level
installations here). Thanks to Ken Etter for this suggestion.
- Added config option 'indexAddressbookByEmail' (default=FALSE) to help
a few sites using hardware authentication tokens (e.g. Yubikeys) to login
with a random username generated on the fly by the token. In this
particular case, the users's address books cannot be indexed by username
but have to be indexed by email address instead. Set this to TRUE to
achieve this. Be warned that if a user changes their email address in
your directory (e.g. AD or LDAP) they will effectively wipe their
address book if this is TRUE. So leave it at FALSE unless you really
have to change it. Thanks to Zach Musselman for the feature request.
- Added config option 'allowExternalPickups' (default=TRUE). If you set this
to FALSE, the "Pick-up files' button will be removed from the main menu
*if* you are not logged in. It works similarly to 'allowExternalUploads'.
- Removed vulnerabilities from admin "unlock users" page. Thanks to Jack
Cable for this.
- Improved security of session cookie. Installing this update will logout
any current ZendTo users, so do this at a quiet time or a scheduled
maintenance window. Thanks to Jack Cable for this.
- Fixed typos in fr, it and nl translations. Thanks to Matthieu Froment
for pointing these out.
- Updated French translation from Matthieu Froment.
- Updated supplied copies of all external Javascript libraries.
- Changed method of calling Google ReCaptcha to improve reliability.
- Installer: updated SSL settings for CentOS/RedHat apache config.
Version 5.22-1 Beta
- Added support for CentOS 8, Ubuntu 19 and Debian 10 (Buster) to the
Installer.
- Fixed self-signed certs generated by the Installer so they work in MacOS
10.15 Catalina. Apple have added a bunch of constraints, see
https://support.apple.com/en-us/HT210176.
- Followed Google's advice to fetch reCAPTCHA from www.recaptcha.net instead
of www.google.com, to improve the chances of it working from China.
Note: this requires a change to the Content-Security-Policy header if
you are setting that.
- If you edit new_dropoff.tpl to make the "encrypt all files" box checked
by default, it will now correctly prompt for the passphrase when the user
tries to complete the drop-off process.
- Fixed bug where dropoffs that were the result of requests would have the
wrong sender's organisation displayed.
- Removed 'CopyrightYear' setting from zendto.conf. It is now just set to
the current year, saving you having to update it each year.
- 'One of the recipients' changed to 'one of the recipients' to fix a
capitalisation issue.
- Fixed escaping bug in log entries. Thanks to Ana-Maria Popescu @amiutza
ana.popescu@codegrazer.com for this and the mime type sanitising.
- Added extra layer of sanitising to mime type metadata.
- Fixed bugs in Ubuntu/Debian installer and .deb package relating to
log file permissions.
Version 5.21-2 Production
- Fixed bug where 'authLDAPUsernameAttribute[123]' setting would have
no effect when authenticating with AD.
- Fixed bug where deleting recipients in the new drop-off form, other
than the last ones in the list, could cause other recipients to be
missed.
- Improved intelligence of "new request" and "new drop-off" forms:
if you enter an email address into the name box, it will be moved
automatically to the email box (if that was empty).
- In "new drop-off" form, instead of displaying an alert if there are
no recipients, it now just shows the "Add Recipient" box.
- "New request" form now works even if no recipient name specified.
Any resulting emails are re-worded appropriately.
- Clicking the "copy link to clipboard" button now makes it obvious that
something did happen.
- Improved Installer to configure zendto.conf file as well.
Version 5.21-1 Production
- Drag-and-drop area on the new drop-off form now covers the entire
browser window.
- Fixed bug where reminder emails didn't include the Passcode when
they should.
Version 5.20-9 Beta
- Fixed problem where downloading zip of large un-encrypted drop-off
would probably run out of memory.
Version 5.20-8 Beta
- Added delete buttons to autocomplete lists in the "request" form, and
re-factored the code that does all of that.
- Fixed bug where errors in the contents of the "request" form were
being notified to the user twice when they tried to submit the form.
Version 5.20-7 Beta
- Bug-fixes from previous beta, and user interface text improvements.
Thanks to Tom Gardner for these suggestions!
Version 5.20-6 Beta
- Bug-fixes from previous beta.
Version 5.20-5 Beta
- Fixed bug where expired drop-offs would leave behind links to library
files, if those library files had been deleted before the drop-off
expired.
- A "request for a drop-off" can now enforce encryption on the resulting
drop-off. The passphrase is set by the person sending the request, and
is never known to the user who creates the actual drop-off in reply.
There is a new preferences.php setting 'defaultEncryptRequests' which
sets whether the "Encrypt all files" checkbox on the **request** form
(not the "new drop-off" form) is ticked by default.
- In the "Request for a drop-off" form you can now also stop it sending
the email automatically, but instead just show you the link. Useful if
you want to send the link some other way, possibly more securely.
It shows you the link and you just click on it to copy it to your
clipboard.
Version 5.20-3 Beta
- Changed zip logic so that zips less than 4GB with fewer than 64k files
are created without the Zip64 extensions, as those break some OSes and
zip apps, such as the Archive Utility on macOS.
- If you attempt to download a Zip64 zip on a Mac, it will warn you that
you probably won't be able to just double-click on it to open it.
- Added new preferences.php setting 'deleteRequestsAfterUse' as a few
sites want to let external people repeatedly send them drop-offs
without having to re-confirm their email address for each one, nor have
an internal user send tham a fresh "request for drop-off" each time.
It is TRUE by default, think long and hard before setting it to FALSE.
- System-wide announcement message can now contain a title as well as the
HTML content of the message. See preferences.php for the details.
Version 5.20-2 Beta
- Improved error detection when sending emails.
- System-wide announcement message now correctly styled with CSS.
Version 5.20-1 Beta
- Added new setting for AD authentication 'AuthLDAPUsernameAttribute' so
that you don't have to use sAMAccountName to get the username. It means
users can login with things like their email address if that suits your
environment better. It defaults to 'sAMAccountName', which was the
value that was hard-coded in previous versions.
- Added new "Download All Files as a Zip" button to the drop-off download
page. Works on normal and encrypted drop-offs. Note that in the case of
encrypted drop-offs, the resulting zip is *NOT* encrypted. It's purely
designed as an easy way of downloading a drop-off if you have multiple
ones to download and want to be able to dump everything in the same
folder.
- Improved makelanguages so it wipes the Smarty template cache, to make
changes to language translations update properly.
- Greatly improved MySQL error logging.
- Improved logging of overnight cleanup house-keeping.
- Added new preferences.php setting 'systemAnnouncementFilePath' which you
can set to the location of a file containing a system-wide announcement
you want all your users to see on the login / main-menu page.
If you don't want it to show anything (i.e. normally), set it to '' or
point it at a file that doesn't exist or point it at a file that is empty.
Useful for warning your users about upcoming maintenance down-time.
- Behaviour of clicking on a drop-off in your Inbox or Outbox, which recently
I changed to always open it in a new tab, I have reverted to the previous
behaviour. Now only the Global drop-off list (visible to admins only)
opens drop-offs in new tabs. It was confusing users.
Version 5.19-1 Production
- Added missing 'jq' dependency installation to deb+rpm based Installer.
- Installer works on Ubuntu 19.04.
Version 5.18-5 Beta
- Fixed bug that may cause old requests for drop-offs to be expired too
early.
- Advice about encryption on "new dropoff" form is now not shown when
encryption is mandatory.
- Fixed bug where changing displayed text in zendto.po for your own
language on Ubuntu might not take effect.
- Improved upgrade command so languageList is automatically replaced if
there are more languages available than your previous version.
Version 5.18-4 Beta
- Picking up a drop-off can now be both scripted and automated too!
Run /opt/zendto/bin/autopickup and it will show you how to use it.
--debug to see what it will do. --list to see the JSON of the drop-off.
--nofiles to not actually download any files at all.
- Improved the CentOS/RedHat installer, so that it spots that the IUS repo
package of PHP 7.3 doesn't include the sodium crypto extension for some
random reason. In this case, it backs off to the previous version 7.2
as that works.
Version 5.18-3 Beta
- Creating a new drop-off, and creating a new request for one, can now
both be scripted and automated!!
Yes, finally. Run the /opt/zendto/bin/autodropoff and autorequest
scripts and they will show you basically how to use them.
I will document them better, but wanted to get the code out there first.
Use the "--debug" or "-d" flags to stop it actually doing anything but
instead show you the monster curl command it will do.
They both return a data structure in JSON.
Version 5.18-2 Beta
- Outbox no longer shows the sender. It's always you anyway. Helps with
the formatting of the rest of the table for particularly long-worded
languages.
- Autocomplete list of address book matches now has a tooltip above the
column of buttons so you know what they do (in case the Trash icon
wasn't obvious enough).
- Fixed bugs in autocomplete handling after entries had been deleted.
- Improvements to tooltips and layout, thanks to Marcel Richter for this!
Version 5.18-1 Beta
- Autocomplete list of address book matches when entering recipients now
has an "X" button at the end of each line which deletes that entry.
- Lists of drop-offs now show if the drop-off has been picked up, and if
it was encrypted.
- Selecting a drop-off from any list of drop-offs now shows it in a new tab.
- New command /opt/zendto/bin/autorequest will generate a request for a
drop-off from a script. Run it with no parameters to see the usage.
If you want to use this, you will need to create a user specifically
for the automation to use, and set it in the new 'automationUsers'
setting in preferences.php.
The autorequest gives you a return code back and a bit of JSON to say
what happened.
- "upgrade_preferences_php", and hence also "upgrade", have been improved
to fix problems for people using LDAP but not AD, as they highlighted
a lacking in the intelligence of the tool.
- Lists of drop-offs show a tooltip explaining the "Picked up" column.
- Log clean virus scans of new drop-offs as well as viruses and errors.
- Logo image should display better now if it's a bit too tall.
- Security fix highlighted by Michael Radford. All users should upgrade.
- Fixed string formatting bug when a user tries to send a drop-off request
with a Subject: line that is too long. Thanks for Tobias Tafart for this fix!
- Installer for RHEL8 is now working, except for ClamAV which needs to come
from EPEL but there isn't an EPEL archive for RHEL8/CentOS8 yet. Don't want
to use the 7 archive as I'm hoping the clamd problems will get fixed.
Version 5.17-6 Production Release
- Logging bugs fixed when removing drop-offs.
- Fixed bugs in sbin scripts so they now locate the ZENDTOPREFS
environment variable correctly. The default cron job definitions always
supplied the path of the preferences.php file anyway, so this bug had no
effect.
Version 5.17-5 Beta
- Added FreeBSD 11.2 and 12 support to the Installer.
- Greatly improved new "upgrade" tool so it works with tgz-based
ZendTo installations (e.g. FreeBSD) as well as rpm and deb systems.
Version 5.17-4 Production Release
- Minor logging bug fixed.
Version 5.17-3 Production Release
- Bug in drop-off download page fixed.
Version 5.17-2 Production Release
- Improved "upgrade" tool to handle either of the vaguely sensible answers
to the apt or dpkg "which config file do you want to use?" prompt.
- Improved "upgrade" to tell you more about what it's doing.
- Improved deb and rpm installations so nothing under /etc will get touched
if you have modified the default supplied files.
- Fixed bug where files of exact multiples of 65536 bytes would refuse to
download if encrypted.
Version 5.17-1 Production Release
- New features since 5.15 are:
- Simplified upgrading the zendto.conf and preferences.php files.
There is now a simple "upgrade" utility in /opt/zendto/bin that
automatically does the whole job for you.
When upgrading the package on Ubuntu or Debian, just accept the
defaults if apt asks you what it should do about the config files.
- Added new utility "extractdropoff" which will extract the files from
a drop-off to the current directory, given a ClaimID. It will prompt
for the passphrase if the drop-off is encrypted.
- Added cs_CZ and Galego (aka Galician) translations,
thanks to Dizzy Easy and Manty!
- LDAP and AD servers can now be specified as hostname:port in case you
need to use port 3268, which helps if you get partial results from AD.
- Documented that if you set 'languageList' to array() then the language
picker does not appear at all.
- Fixed Installer for latest changes in CentOS 7. If you hit problems with
virus-scanning failing on existing installations on CentOS or RedHat 7,
run this command as root: "groupmems --group virusgroup --add apache"
and then "systemctl restart httpd".
- Fixed all known bugs. Details in the beta changes below.
Version 5.16-8 Beta
- Fixed rounding bug in disk free space measurement.
- Improved "upgrade" utility to more reliably find your config files.
Version 5.16-7 Beta
- Hopefully AD login bug is now resolved.
- Nightly cleanup job should no longer risk deleting drop-offs that
are being created precisely when it runs.
- New Galego (aka Galician) translation. Thanks Manty!
Version 5.16-6 Beta
- Simplified upgrading the zendto.conf and preferences.php files.
There is now a simple "upgrade" utility in /opt/zendto/bin that
automatically does the whole job for you.
When upgrading the package on Ubuntu or Debian, just accept the
defaults if apt asks you what it should do about the config files.
- Fixed bug with changing locale when ZendTo does not have its own
VirtualHost.
- Improved error handling at end of new drop-off to try to avoid the
dreaded your-upload-file-but-dont-know-why error. Key in this situation
is to check your Apache error log, that will tell you why.
- Authentication flow changed to stop your authentication servers getting
repeated auth attempts even after ZendTo has locked out the user.
- LDAP and AD servers can now be specified as hostname:port in case you
need to use port 3268, which helps if you get partial results.
- Entering the decryption passphrase by pasting with a mouse is now
detected correctly.
- Changed styling of your logo image so that it's clipped horizontally
only. If too tall it will overlap the content below it.
- Documented that if you set languageList to array() then the language
picker does not appear at all.
- Improved error detection at end of upload process so email template
errors are handled much better, and logged.
- Improvements to encrypt/decrypt passphrase dialogs.
- Added an id to a div in main.js for Gray McCord.
- Fixed bug where pick-up CAPTCHA could be bypassed.
- Fixed security vulnerability in graphs page. Thanks to Eric Eckman.
- Added cs_CZ translation, thanks to Dizzy Easy!
Version 5.16-5 Beta
- Fixed logic governing when to show re-send details when looking at a
drop-off.
Version 5.16-4 Beta
- Various bug fixes highlighted by Marcel Richter.
- Reduced memory limit given to code that generates encryption key from
user's passphrase. It did need over 368MB each time, which could easily
cause a busy ZendTo server to exceed available RAM. Reduced to 67MB.
- Improved error reporting by extractdropoff utility.
Version 5.16-1 Beta
- Fixed font size of textareas, particularly on Firefox.
- Description of each file not shown in new-dropoff email message if the
sender has not supplied a description.
- Fixed bug where multiple (near-)simultaneous uploads of large encrypted
drop-offs could cause failures to process the new drop-offs.
- XSS vulnerability fixed (thanks Lorenzo Nicolodi <lo@microlab.red>!).
- New-dropoff email message now tells the user if the drop-off is encrypted,
and that they need to get the passphrase from the sender.
- Fixed Installer for latest changes in CentOS 7. If you hit problems with
virus-scanning failing on existing installations on CentOS or RedHat 7,
run this command as root: "groupmems --group virusgroup --add apache"
and then "systemctl restart httpd".
- Improved makelanguages so new phrases will automatically pick up my
supplied translations if there isn't already one you've supplied/modified.
- Main menu template slightly changed to allow for HTML tags to be inserted
in translations/localisations.
- Renamed commands in /opt/zendto/bin so they don't have ".php" on the end.
- Wrote utility "extractdropoff" which will extract the files from a drop-
off to the current directory, given a ClaimID. It will prompt for the
passphrase if the drop-off is encrypted.
- Fixed template layout bugs when text in buttons gets split over 2 lines
due to long translations necessary for some languages.
Version 5.15-1 Production Release
- New features since 5.13 are:
- Removed feature allowing the recipient to delete the drop-off if ZendTo
thinks there is only 1 recipient, as ZendTo may well be wrong!
- Removed MyZendTo functionality completely. No one has used it for years.
Note this affects the command-line syntax of bin/adduser.php.
- Changed "Add Recipient" dialog so it has "Add" and "Add & Close" buttons
to make it more obvious for mouse-based users as to how to close the box.
The buttons will scale vertically to be the same height regardless of the
length of the translated text in them.
- Added 5 new preferences.php settings purely to control whether users
can see the 5 checkboxes in the new drop-off form.
- Added new preferences.php setting 'defaultConfirmDelivery' to set default
value of whether to send an email when anyone picks up your drop-off.
- Added new preferences.php setting 'defaultEmailRecipients' to set default
value of whether any emails are sent to recipients of a new drop-off.
- Added support for 3rd Active Directory forest.
- Stripped pointless comments from zendto.po language files to make them
easier to "diff". "makelanguages" will remove them for you.
Version 5.14-5 Beta
- Got fr_FR de_DE es_ES pt_BR translation updates.
- Done Google Translate translations for the 3 new phrases in it_IT and
nl_NL for now.
- Fixed RPM so it should quietly remove any remains of MyZendTo.
Version 5.14-2 Beta
- Removed MyZendTo completely. No one has used it in a long time.
- Added 5 new preferences.php settings purely to control whether users
can see the 5 checkboxes in the new drop-off form.
- Added support for 3rd AD forest.
- Added new preferences.php setting 'defaultConfirmDelivery' to set default
value of whether to send an email when anyone picks up your drop-off.
- Added new preferences.php setting 'defaultEmailRecipients' to set default
value of whether any emails are sent to recipients of a new drop-off.
- Changed "Add Recipient" dialog so it has "Add" and "Add & Close" buttons
to make it more obvious for mouse-based users as to how to close the box.
The buttons will scale vertically to be the same height regardless of the
length of the translated text in them.
- makelanguages will now restore SELinux file attributes on /opt/zendto
if you are using SELinux.
- Uncommented the LDAP authenticator settings in preferences.php, so if
you are using LDAP (not AD) you won't get your LDAP settings commented
out every time you use upgrade_preferences_php.
Version 5.13-2 Production Release
- Removed feature where lone recipient could delete the drop-off.
- Minor updates to Dutch translation.
- Installer fix for php7.2-mbstring in Ubuntu 18.04.1.
Version 5.13-1 Production Release
- This is a summary of new features & updates since 5.11.