-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathChangeLog
More file actions
951 lines (750 loc) · 35.6 KB
/
ChangeLog
File metadata and controls
951 lines (750 loc) · 35.6 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
Smartsieve - ChangeLog
----------------------
26 Apr 2010 S Grier
* Add Polish translation (Krzysztof Stryjek).
23 Nov 2009 S Grier
* Fixed bug #2902522: SmartSieve should expect CAPABILITY response following STARTTLS.
* Fix "Undefined variable: line" warnings.
* Parse the other capabilities defined in draft-martin-managesieve-12.
* Add authenticate_auto_capability option to handle servers that issue a CAPABILITY response
following a successful AUTHENTICATE.
16 Nov 2009 S Grier
* Fixed bug #2898434: "Cannot save custom rule when it is the first rule".
11 Feb 2009 S Grier
* Update INSTALL and README with Dovecot info.
19 Jan 2009 S Grier
* Updated French translation (Philippe Brangier).
21 Nov 2008 S Grier
* Fixed Bug #2318164: "Deleting multiple rules deletes the wrong rules".
10 Nov 2008 S Grier
* Changes to Crypt::mcrypt:
- Use MCRYPT_DEV_URANDOM to improve entropy gathering performance.
- Now persists the IV value by prefixing the encryption result. Means we can
now use modes other than ECB.
- Change default mode to MCRYPT_MODE_CFB.
09 Oct 2008 S Grier
* Add utf8_fileinto option to UTF-8 encode mailbox names in fileinto actions
(defaults to off). This is needed for Cyrus v2.3.12 and newer.
01 Oct 2008 S Grier
* Fixed Bug #2138613: "auth_domain with full address gives credentials error".
14 Apr 2008 S Grier
* Add workaround for Cyrus 2.3.11 STARTTLS behaviour change (http://bugzilla.andrew.cmu.edu/show_bug.cgi?id=3048)
19 Mar 2008 S Grier
* Fix Bug #1919775: "Script names containing only numbers cause various issues".
* Fix Bug #1919789: "The wrong script name is displayed after a script is renamed".
25 Feb 2008 S Grier
* Updated German translation (Olaf J. Pauli).
16 Oct 2007 S Grier
* Fixed Bug #1814397: "fileinto action in custom rule causes "fileinto not required"".
03 Oct 2007 S Grier
* Reset extensions list for each Script::updateScript() call.
28 Sep 2007 S Grier
* Fix SmartSieve::getConf(). Allow $conf[$option] + maintain old $default->$option.
25 Sep 2007 S Grier
* Fix whitelist.inc.
* release_1_0_0-RC2.
07 Sep 2007 S Grier
* Clean up config.php.
* Drop vacation_text, require_vacation_addresses, vacation_text and require_vacation_days config options.
* Honour socket_timeout config option.
* Move generic dependencies to lib/base.php.
06 Sep 2007 S Grier
* Fix legacy parser if/elseif logic. Ignore continue bit on disabled rules.
* Fix Script::hasCondition() for cases where an unconditional custom rule has conditions.
05 Sep 2007 S Grier
* Updated Russian translation (BorisL).
31 Aug 2007 S Grier
* Now accepts multiple headers for the "address" test. Added a new "If To: or Cc:" option.
* Regenerated all translation files using locales_update.pl.
30 Aug 2007 S Grier
* Remove forward.php ms-test.php vacation.php include/forward.js include/vacation.js lib/Log.php lib/sieve.lib from CVS HEAD.
* Further fix for Bug #1781958. Warn when a fileinto folder does not exist.
* Don't restrict size condition to one per-rule.
29 Aug 2007 S Grier
* SmartSieve::getMailboxList() now always returns an array, even on a failure.
* Fixed Bug #1781958: "Cached imap folders list".
* When existing fileinto folder does not exist, display as a disabled select option.
* Add is_sane_hook config option to allow extending sanity checking done on rule values.
* Increase textarea sizes (Patches #1781452).
28 Aug 2007 S Grier
* Honour use_forward_mail_interface, use_vacation_interface, allow_custom and use_whitelist
options. Note, these modes will still be available to existing rules.
* Text should go through SmartSieve::text() (Bug #1781953).
23 Aug 2007 S Grier
* Added support for mailto and sms notifications (Feature request #1544828).
* Added Whitelist feature.
22 Aug 2007 S Grier
* Make script and rule status icons action widgets.
* Fix #1243957: "Improved recognition of Web/Smart scripts".
21 Aug 2007 S Grier
* Add workaround for Bug #1775235: "Proxy user: wrong folders displayed".
* Added Managesieve::hasExtension().
* Added support for sieve body extension.
* Added support for the "addflag" action.
* More menu style changes.
20 Aug 2007 S Grier
* Add images for help and $default->menu_items menu items.
* Remove websieve_auto_matches warning from rule edit page.
* Change form action links to buttons.
17 Aug 2007 S Grier
* Menu style changes.
15 Aug 2007 S Grier
* Added change status and delete widget for each rule.
03 Aug 2007 S Grier
* Added getName() and isRuleEnabled() to Script class + maintain legacy getForwardRule() behaviour.
* Cosmetic changes.
30 Jul 2007 S Grier
* Added "Move rule to position X" widget.
* Added getRule() and getSpecialRuleId() to Script class.
* "Special" rules like vacation or forward rule are now identified by 'special' attribute.
26 Jul 2007 S Grier
* Add vacation action to rule.php.
* Add Script::deleteRule().
* Merge vacation.php into rule.php.
25 Jul 2007 S Grier
* Added addRule() and saveRule() to Script class.
* Added "Save at position X" widget.
24 Jul 2007 S Grier
* Cleanups. Remove Script::concatenateValues() and Script::splitValues().
* Add Script::changeRuleOrder().
* Add match type widget.
23 Jul 2007 S Grier
* Make match type and block control rule attributes.
20 Jul 2007 S Grier
* Store script metadata as serialized PHP data.
* Handle multiple sieve actions.
16 Jul 2007 S Grier
* Parse client version information.
* Don't unescape '\' and '|' chars or split values for scripts created older versions of SmartSieve.
12 Jul 2007 S Grier
* Handle multiple values for each of the from, to, subject and header match conditions.
* Added Script::concatenateValues() and Script::splitValues() to achieve this.
09 Jul 2007 S Grier
* Rule creation GUI changes:
* - add and remove conditions.
* - only show chosen action.
* - forward.php merged with rule.php.
* - custom rule now has separate GUI.
26 May 2007 S Grier
* Fix SmartSieve::removeMagicQuotes(). get_magic_quotes_gpc returns 1 not true.
12 Mar 2007 S Grier
* Drop class Log:: in favour of the pear Log class.
01 Mar 2007 S Grier
* Fix bug #1638329: "ReLogin doesn't workt With firefox".
23 Feb 2007 S Grier
* Code cleanups.
* SmartSieve::setSession() now takes one array parameter.
* Remove defunct SmartSieve::getMailboxName().
* Add removeMagicQuotes(), getPOST() and getGET() to SmartSieve class.
* Move Crypto functions from SmartSieve:: to Crypto::.
22 Feb 2007 S Grier
* Update Copyright for 2007.
21 Feb 2007 S Grier
* Code cleanups.
* Small behaviour changes:
* - Drop alt_namespace mailbox name massaging. This was broken behaviour.
* - Don't do vacation checks during Script::updateScript().
* - No longer use fully-qualified username or maildomain to force a vacation address
* without the user knowing.
* - Don't set vacation days without the user knowing.
19 Feb 2007 S Grier
* Vacation addresses now displayed as a checkbox list.
* Add get_email_addresses_hook config option to allow pulling in addresses
from an external source.
* require_vacation_addresses option now defaults to false.
16 Feb 2007 S Grier
* Add support for "stop" sieve control.
* Replace existing occurrences of $default with call to SmartSieve::getConf().
15 Feb 2007 S Grier
* Add new spam filter GUI and merge forward.php functionality into rule.php.
14 Feb 2007 S Grier
* Fix bug #1647116: ""Enable"/"Disable" options do not save changes"
* Code cleanups.
02 Feb 2007 S Grier
* Fix bug #1647342: "vacation/rule/forward pages do not honour direct edit mode"
31 Jan 2007 S Grier
* Call SmartSieve::checkAuthentication() before setting any variables.
* Fix "Trying to get property of non-object" warnings.
29 Jan 2007 S Grier
* Be much more liberal on max_field_chars and max_textbox_chars.
18 Jan 2007 S Grier
* Add menu_items config option for setting extra menu items.
08 Dec 2007 S Grier
* Fix missing closing tag on css.php.
22 Dec 2006 S Grier
* Fix undefined index warnings.
* Make keep action work as a normal rule action.
* Help links now open in a new window.
11 Dec 2006 S Grier
* Separate common page footer to new common-footer.inc template.
* Fix getSummaries() to ignore disabled rules when deciding to use if/elseif.
08 Dec 2006 S Grier
* Fix typo in ms-test.php.
08 Dec 2006 S Grier
* release_1_0_0-RC1
07 Dec 2006 S Grier
* Make if/elsif logic visible in rule summaries + cleanup template.
* Add support for imapflags extension in custom rules.
06 Dec 2006 S Grier
* Minor textual changes.
22 June 2006 S Grier
* Add cache control headers to style sheet, and cache by default.
05 June 2006 S Grier
* Add ability to switch from direct edit mode to GUI mode.
17 May 2006 S Grier
* Set focus on authz field when it becomes visible.
17 Mar 2006 S Grier
* Added view source option on view script page.
20 Feb 2006 S Grier
* Added logout_redirect config option to redirect users following logout.
17 Feb 2006 S Grier
* Disable TLS before closing socket if enabled.
* Read starttls response correctly if negotiation fails.
13 Feb 2006 S Grier
* Add STARTTLS support. Requires PHP-5.1 or above with OpenSSL support.
* Updated Copyright for 2006.
* Display the server 'display' value instead of the host name common_status.inc.
29 Nov 2005 S Grier
* Use sprintf to avoid curly bracket confusion (Bug #1369220).
* Returning references to non-variables causes an error in PHP 4.4/5.1 (Bug #1365169).
16 Nov 2005 S Grier
Changes to auth handling:
- Abstrct SmartSieve login into new SmartSieve::login() function
- Added new SmartSieve::checkAuthentication() function to check the auth state
of the current session, handle login attempts and redirect to the login page
if necessary
- A few include/require calls changed to use SmartSieve::getConf()
- New initial_page config option controls which page users see following login
- Added new SmartSieve::destroy() function. Make sure we destroy the current
session following an auth failure. This will avoid browser loops.
- Added SmartSieve::logout() function so we don't have to redirect via login.php
03 Dec 2004 S Grier
* Handle script names containing space, backslash and double-quote chars (Bug #1075450).
01 Dec 2004 S Grier
* Escape "&" characters in the encoded script index.
25 Nov 2004 S Grier
* Use transliterations when converting from UTF-8 using iconv.
11 Nov 2004 S Grier
* Make custom rule interface more intuitive.
* Fix unconditional custom rules (Bug #1000050).
* Keep mailbox names encoded as mUTF-7. Only convert to local charset for display.
10 Nov 2004 S Grier
* Convert charset of user supplied strings to correctly handle non-ascii content.
Sieve scripts should always be UTF-8 on the server.
05 Nov 2004 S Grier
* Move class Encrypt:: functions to SmartSieve:: (Bug #1058951).
* Replace remaining old style $HTTP_*_VARS arrays with superglobals.
04 Aug 2004 S Grier
* Display authz box on login page to proxy_authz_users only.
30 July 2004 S Grier
* Fixed document.scripts clash (bug #994671).
29 July 2004 S Grier
* Fixed bug in matching message size of 0 (bug #1000041).
27 July 2004 S Grier
* Added French translation. Contributed by Alain Richard.
19 July 2004 S Grier
* Don't treat ruleID=0 as new rule.
14 July 2004 S Grier
* Template cleanups.
* Activate script correctly in updateScript.
09 July 2004 S Grier
* Add switch to direct edit option.
* Don't lose script modifications on parse error.
* Vacation checkbox now works.
* Reset rule changes on error.
* Call retrieveRules() from setWorkingScript.
* include_once version.php
07 July 2004 S Grier
* Add contributing and translating notes to README.
05 July 2004 S Grier
* Set charsets in conf/locales.php.
* Only read translations file on first call to SmartSieve::text().
25 June 2004 S Grier
* Handle notify action in custom rules.
* Updated German translation file from Andreas Haase.
09 June 2004 S Grier
* Move setUrl to class SmartSieve.
* Move getFormValue to class SmartSieve. This no longer does strip_tags or rtrim and
may now return null. Also now takes a default value.
* Remove class AppSession and move class Script to lib/Script.php.
* Only remove 'sieve://' part of referral host where necessary. Cyrus v2.1 doesn't include it.
04 June 2004 S Grier
* Replace long predefined arrays (HTTP_*_VARS) with superglobals. Requires php > 4.1.
* Replace $errors and $msgs arrays with $_SESSION['errors'] and $_SESSION['notoces'].
Added SmartSieve::setError() and SmartSieve::setNotice() for using these arrays.
* Use register_shutdown_function to make sure we always logout cleanly.
* Use new Managesieve class instead of SieveSession. We make the managesieve object
global rather than owned by the $sieve object.
* Drop AppSession class. Move getScriptList(), getActiveScript(), getMailboxList(),
scriptExists() to class SmartSieve. We should now only login once per page click.
* Added SmartSieve::handleReferrals() to cope with managesieve referrals.
* Added SmartSieve::setWorkingScript(). Can now set working script from anywhere.
* Call setWorkingScript when renaming or deleting the working script.
01 June 2004 S Grier
* Move writeToLog to SmartSieve class.
* Added setSession, authenticate and close functions to SmartSieve class to replace
old AppSession functions.
26 May 2004 S Grier
* Handle Cyrus v2.0 logout Ok response.
* Don't add extra NO responses to errstr following putscript.
* Handle extra capability NO response with Cyrus v2.0.
12 May 2004 S Grier
* Added lib/Managesieve.php. Class Managesieve is an improved managesieve library
intended to replace class SieveSession.
21 April 2004 S Grier
* Don't add extra newline to end of script in SieveSession::getscript().
* Rewrite rename action on scripts.php.
16 April 2004 S Grier
* Support proxy authorization. We now authenticate as $sieve->auth, and authorize
as $sieve->authz. Only users authenticating as a Cyrus admin or sieve_admin will
be able to authorize as a different user. Also, note that the PHP imap extension
doesn't support proxy authz, so the mailbox listing will be wrong.
13 April 2004 S Grier
* Added Russian koi8-r translation. Contributed by Alexander Borovsky aka Partizan.
* Added $server['auth_domain'] option to append domain on usernames if
fully-qualified usernames are needed. (Markus Rechtien)
08 April 2004 S Grier
* Widen vacation and reject message textareas to $default->wrap_width, or 80
characters wide. We still wrap hard.
07 April 2004 S Grier
* Added SmartSieve::getConf function to avoid Undefined variable warnings.
26 Mar 2004 S Grier
* Added conf/locales.php. The language select widget on the login page is now
generated from this file.
* Cleanups to login page template.
23 Mar 2004 S Grier
* Added Spanish and Catalan translations. Contributed by Andreu Sánchez Costa.
12 Mar 2004 S Grier
* Match Cyrus version v2.x correctly in SieveSession::_authenticate()
04 Mar 2004 S Grier
* release_0_5_2
* Fix typo in config.php
* Cleaned up text in config.php.
02 Mar 2004 S Grier
* Updated Italian translation file from Andrea Tassinari.
01 Mar 2004 S Grier
* Protect code from non-existent config options using !empty().
09 Feb 2004 S Grier
* Updated German translation file from Andreas Haase.
04 Feb 2004 S Grier
* Added Italian translation. Contributed by Andrea Tassinari.
27 Jan 2004 S Grier
* Fix getForwardRule() return 0 bug in forward.php.
26 Jan 2004 S Grier
* Updated Copyright for 2004.
* Merged i18n branch into HEAD.
* Added $default->user_select_lang config option.
15 Jan 2004 S Grier
* Send Content-Type http header with all responses to set the correct charset.
* Make language select list on login page dependent on $default->user_select_lang.
14 Jan 2004 S Grier
* Added scripts/locales_update.pl script. This can be used to (re)generate
the translation files for supported languages. It will extract all output
strings passed via the SmartSieve::text() function, and reuse any existing
translations from the old translation file.
17 Dec 2003 S Grier
* SmartSieve::Text() -> SmartSieve::text().
* cleaned up some SmartSieve::text() calls.
15 Dec 2003 S Grier
* SmartSieve::GetCharset() -> SmartSieve::getCharset().
11 Dec 2003 S Grier
* SmartSieve::Text() now takes an $args array argument, which is passed to a
vsprintf() call. This allows us to translate strings with variables in them.
* isset($phrase[$string]) changed to !empty($phrase[$string]) in SmartSieve::Text().
* merge changes in HEAD to i18n branch.
14 Nov 2003 S Grier
* set session.use_trans_sid off and call session_set_cookie_params() on each page.
* use AppSession::getFormValue() to get reason value in login.php. and call
session_destroy() on logout.
12 Nov 2003 S Grier
* call session_name() and session_start() from index.php in order to redirect
correctly, and call AppSession::setUrl() to work with cookieless sessions.
* call SmartSieve::mutf7Decode() instead of imap_utf7_decode() in AppSession::retrieveMailboxList().
11 Nov 2003 S Grier
* don't use short_open_tags in conf/locale/*/strings.php.
03 Nov 2003 S Grier
* fixed small bug in custom rule handling. should not be deemed unconditional if action_arg starts
with (els)if.
31 Oct 2003 S Grier
* added mutf7Decode() and modifiedToPlainUTF7() functions. We want to avoid using
the imap_utf7_decode() to decode mailbox names because it only converts modified
UTF-7 into ISO-8859-1. These functions convert mUTF-7 encoded mailbox names into
whatever character encoding is needed by the current locale. The modifiedToPlainUTF7()
code was contributed by Den aka Diesel.
29 Oct 2003 S Grier
* vacation rule changes:
- $default->vacation_days now defaults to 7 and max_vacation_days is now 30 as per
draft-showalter-sieve-vacation-04.
- new require_vacation_days and require_vacation_addresses config options. If these are set to
false the defaults are ignored and the user will be able to not specify these values, in which
case we will not then include the :days or :addresses arguments when writing the vacation rule
to the script. These are optional arguments in draft-showalter-sieve-vacation-04.
- new buildVacationString() function in main.php for an improved vacation rule summary.
- display defaults on vacation.php if no current vacation rule.
27 Oct 2003 S Grier
* moved html from rule.php, scripts.php, vacation.php and login.php to templates.
23 Oct 2003 S Grier
* added forward mail interface forward.php.
26 Sept 2003 S Grier
* added a javascript confirmation popup when a match string contains wildcard chars with
$default->websieve_auto_matches = true to warn them that :matches will be used.
* add $default->websieve_auto_matches config option to control the automatic use of the :matches
comparator where match string contains wildcard characters. This defaults to off because of
the unexpected results this can produce.
23 Sept 2003 S Grier
* small change to imapport comment.
19 Sept 2003 S Grier
* sieve.lib: changes to socket handling:
- initialize $this->socket false.
- set $this->socket false in close() function.
- check status of socket with is_resource() calls.
12 Sept 2003 S Grier
* rule.php: set wrap="off" for custom rule textarea.
22 August 2003 S Grier
* htmlspecialchar() rule and vacation sumarries to avoid garbled output.
18 August 2003 S Grier
* status and messages rows on all pages moved to new common_status.inc include file.
* top menu on all pages now included from menu.inc include file.
* don't display vacation or new rule links on the top menu in advanced mode.
15 August 2003 S Grier
* moved top menu html from main.php to new menu.inc include file.
14 August 2003 S Grier
* moved <head> html block on all pages to new common-head.inc include file.
13 August 2003 S Grier
* make sure $script->mode always set. basic by default, advanced if encoding unrecognised.
* moved removeEncoding() to Script:: class. call from updateScript().
11 August 2003 S Grier
* added support for Websieve's advanced mode. A new direct edit interface will allow editing
advanced mode scripts and scripts not created by SmartSieve or Websieve.
* Fixed DIGEST-MD5 for SASL v1.x.
* sieve.lib: getscript() now returns array $resp containing raw script and script size.
17 July 2003 S Grier
* set $rule['unconditional'] for custom rule if unconditional.
16 July 2003 S Grier
* add "vacation" to require line if custom rule contains vacation command.
14 July 2003 S Grier
* added support for Websieve's custom rules.
04 July 2003 S Grier
* added support for the DIGEST-MD5 sasl auth mechanism. based on Scott
Russell's patch for sieve-php.lib, and RFC 2831.
Note: this is completely untested.
20 June 2003 S Grier
* sieve.lib:
- abstracted SASL authenticate command into new _authenticate() function.
This is necessary for adding support for other SASL mechanisms.
- new _selectsaslmech() function selects which of the supported SASL mechanisms
to use. Returns false if none of the supported mechanisms are available on
the server.
29 May 2003 S Grier
* set the language in the PHP session, rather than the AppSession object.
this will make the translation work for the login page.
* include/login.js: added changeLang() function. The language on the login page
will change as the value of the language list box is changed, unless there is
a value in the username or password fields (so they don't get lost).
* lib/SmartSieve.lib:
- added getLang() function. return $default->language if not set in session
if not set in session, GET or POST.
- modified Text() and GetChar() to use getLang().
28 May 2003 S Grier
* rule.php: 2 strings for which SmartSieve::Text() should not be used.
23 May 2003 S Grier
* login.php: missing quotes on tabindex.
22 May 2003 S Grier
* added i18n multi-language support (patch contributed by Andreas Haase).
15 May 2003 S Grier
* release_0_5_1devel.
* lib/Crypt/mcrypt.php:
fixed undefined index warnings in $args array.
* can now set SmartSieveCrypt $args from config.
14 May 2003 S Grier
* can now reverse a match condition by preceding a match string with the !
character, eg. "!matchstr" = 'not :contains "matchstr"'.
* now interprets * and ? as wildcard chars and implements the :matches match type.
13 May 2003 S Grier
* scripts.php:
fixed Activate link broken in IE-6.0 (bug #732546).
12 May 2003 S Grier
* rule.php:
strip colons from end of mail header field.
* Crypt.php:
only use libmcrypt if function mcrypt_module_open exists (libmcrypt >= 2.4.x).
* now supports libmcrypt for encryption.
30 April 2003 S Grier
* login.php:
now tries to authenticate when a SmartSieve session already exists. If this
fails SmartSieve now warns that its cookie settings may be wrong. This stops
browser loops when cookie_domain and cookie_path are set incorrectly.
* SmartSieve.lib:
pass SieveSession object $default->socket_timeout value.
28 April 2003 S Grier
* Re-worked SmartSieve's cryptographic handling:
- abstracted the code which interfaces with external cryptographic libraries into
a new SmartSieveCrypt class. SmartSieveCrypt::factory() instantiates a sub-class
which interfaces with the chosen cryptographic library. Sub-classes can be found
in lib/Crypt/. Encrypt::getCryptLib() decides which library SmartSieve should use.
- The Encrypt class now instantiates a SmartSieveCrypt object to do the encryption
decryption work.
- Added support for PEAR's Crypt_Rc4 library.
16 April 2003 S Grier
* sieve.lib:
- fixed bug in read(). no longer returns $buffer if socket_get_status()
reports no bytes left in the read buffer, as read() may read them faster
than they arrive. was causing lines to be broken, and rules to be lost.
10 April 2003 S Grier
* vacation.php:
- make $script a reference, to fix bug similar to bug #717615 in rule.php.
09 April 2003 S Grier
* rule.php:
- fixed undefined index warnings when rule doesn't exist.
- fixed bug where a new rule would be lost if you select 'Create New Rule'
from the create new rule page (bug #717615).
- fixed problems caused by hidden ruleID value not being set correctly on
saving a new rule.
17 March 2003 S Grier
* release_0_5_0devel.
14 March 2003 S Grier
* cleaned up scripts.php.
* vacation status should default to 'on' when first set.
* SmartSieve.lib: new getNumScripts function returns number of current user's scripts.
* updateScript() will now set script active if no other script exists for user.
12 March 2003 S Grier
* scripts.php: added rename action.
11 March 2003 S Grier
* fixed problem with havespace function.
10 March 2003 S Grier
* scripts.php: fixed delete action.
* fixed undefined warnings caused by SieveSession object.
* rule.php: fixed undefined warnings.
09 March 2003 S Grier
* scripts.php: added delete action. not quite right yet though.
* sieve.lib: added havespace and deletescript functions.
* scripts.php: added deactivate action.
07 March 2003 S Grier
* vacation.php: fixed 'undefined' warnings.
* new allow_write_unrecognised_scripts config option. this controls whether
users are able to overwrite scripts not created using SmartSieve.
* various style sheet improvements.
* main.php: set column widths on rules table.
* main.php: fixed broken javascript: style.background -> style.backgroundColor.
* main.php: removed nowrap from rule summaries.
04 March 2003 S Grier
* onmouseover handlers reference window.status (bug 696102).
03 March 2003 S Grier
* LOG_ERROR should be LOG_ERR.
* cleaned code to work when error_reporting = E_ALL.
05 Feb 2003 S Grier
* scripts.php:
- added createscript action.
- modified activate action. warns if no script selected.
* stylesheet changes to scripts.php.
* $default->update_activate_script now defaults to false.
04 Feb 2003 S Grier
* set workingscript active if $default->allow_multi_scripts = false.
* add $default->scripts_help_url config option for new scripts page.
* scripts.php: make links to view scripts work.
* added manage scripts menu links.
31 Jan 2003 S Grier
* scripts.php: can now change active script.
30 Jan 2003 S Grier
* Log class:
- added var declarations.
- initialize $errstr and $stream properly.
- expect fwrite to return false rather than -1 on failure.
28 Jan 2003 S Grier
* first bash at scripts page for managing scripts.
* smartsieve.css stylesheet replaced by css.php and style.php.
* session name now set by new $default->session_name config option.
* page status line reports whether working script is active.
* new scriptExists, isActiveScript and doListScripts functions in AppSession class.
these are initially needed by the Script class.
* initialize $errstr properly in the AppSession and Script class.
* Script class: $scriptfile variable changed to $name. remove $scriptlist.
21 Jan 2003 S Grier
* call count() not non-existent arraycount() in initialWorkingScript().
12 Jan 2003 S Grier
* improved handling of multiple scripts. now sets array $scripts in
session, as array of script objects: ie. $scripts[$script1,$script2,...].
* drop-down script list on rule.php and vacation.php.
* $default->allow_user_supply_scriptfile now defaults to false.
09 Jan 2003 S Grier
* destroy $script object on logout.
* separate sieve and script objects. initialize script object from main.php.
* 1st bash at handling multiple scripts in same login session.
* new initialWorkingScript function. SmartSieve now selects which script to
open following a login. if script is passed from the login form, it will
open that; or if not, if a script is set as the active script on the server,
it open that; or if not, it will open the first of the list of user's scripts
if there is one; or if all else fails, open $default->scriptfile.
* new $default->allow_multi_scripts option controls whether to allow access
to scripts other than $default->scriptfile.
* don't display scriptfile box on login page if $default->allow_multi_scripts
is false.
* listScripts function moved to AppSession class.
* cosmetic change to rule.php.
04 Jan 2003 S Grier
* main.php: don't do rule mods if HTTP_POST_VARS['action'] is set, only if
a positive value. This is necessary for drop-down script list box to work.
* lib/SmartSieve.lib: now gets updated script list for each updateScript call.
* fixed bug in sieve.lib's activatescript: no longer need to read extra newline.
03 Jan 2003 S Grier
* main.php: first stab at drop-down script list for changing scripts.
29 Dec 2002 S Grier
* lib/SmartSieve.lib:
- take note of script size.
- read and note encoded mode value. only used by Websieve.
- check script has recognised encoding of rules. if script was not
previously written by SmartSieve/Websieve, $script->so will indicate
that is it not safe to overwrite the script.
* main.php:
- warn if script encoding was not recognised.
- warn if script was written in Websieve's advanced mode.
11 Dec 2002 S Grier
* alt_namespace should be boolean not a string in servers.php.
02 Dec 2002 S Grier
* release_0_3_2devel.
* correct help urls in rule.php and vacation.php.
* small changes to INSTALL.
28 Nov 2002 S Grier
* AppSession class now always sets errstr when returning false.
* initialize SieveSession object with function arguments.
* added var declarations for AppSession and Script classes.
* keep server defaults if not set in conf/servers.php.
27 Nov 2002 S Grier
* login.php: include returned error in log message for failed login.
* numerous changes to lib/sieve.lib:
- added class var declarations.
- renamed $capabilities as $extensions.
- change to use fread() rather than fgets(). fread() is binary safe, and
is more appropriate for reading single bytes. this will make SmartSieve
work on php-4.3.0pre2.
- added $socket_timeout and socket_set_timeout() call so read() will not
wait forever on the socket.
- read() now calls socket_get_status() and returns if socket has timed out
or has no bytes left to read. this should make read() less likely to hang
if there's a problem.
- now retrieves the newline char from the socket when line ends in a CRLF.
07 Nov 2002 S Grier
* rule.php: move call-time pass-by-reference checkRule(&$rule) to function
definition. use of allow_call_time_pass_reference depreciated.
06 Nov 2002 S Grier
* lib/Encrypt.php: changed include_one calls to require_once.
04 Nov 2002 S Grier
* added welcome heading to login.php. can be formatted via
$default->login_page_heading and .welcome stylesheet item.
* 2 small fixes to make alt_namespace work.
* more concise $default->script_head_format.
* fixed namespace support. now done in new SmartSieve::getMailboxName()
function. handles user and shared namespaces also.
01 Nov 2002 S Grier
* added note on PLAIN SASL auth requirement to INSTALL.
* improved alt namespace support. still not right. NOTE: temporarily broken.
30 Oct 2002 S Grier
* sieve.lib: checks for "STARTTLS" capability. this is new in timesieved-1.1.0
(cyrus-imapd-2.1).
23 Oct 2002 S Grier
* main.php: $errstr is now $errors array. will also now report $msgs.
22 Oct 2002 S Grier
* improved stylesheet formatting. now uses #RRGGBB codes for colours.
* added some chars to main.php, rule.php, vacation.php to improve
appearance in browsers like Netscape.
* rule.php: more informative log message for openSieveSession.
* small bugfix to conf/config.php: missing '*/'.
21 Oct 2002 S Grier
* moved script head date format to $default->script_date_format.
* removed redundant $baseurl variables from index.php.
* changed rule.php and vacation.php to use AppSession::setUrl().
18 Oct 2002 S Grier
* changed login.php and main.php to use AppSession::setUrl().
* lib/Encrypt.php: check for specific session_name() cookie when setting
key cookie. necessary to handle cookie-less sessions.
* added AppSession::setUrl() function to cope where cookies are not
accepted by the browser.
* addended README and INSTALL notes for mailinglist info.
08 Oct 2002 S Grier
* release_0_3_1devel
07 Oct 2002 S Grier
* default config changes: $default->scriptfile now defaults to 'smartsieve'.
$default->logging now defaults to off.
* rule.php: small bugfix. was writing error msg to log regardless of what
retrieveMailboxList() returns.
04 Oct 2002 S Grier
* rewrite of vacation.php. now builds $vacation array from POST if submitted
or $script->vacation if not. this means we can't bypass chechRule() by
clicking enable or disable.
also added success messages.
03 Oct 2002 S Grier
* added $default->return_after_update config option.
* added success messages to rule.php.
* improved top menus.
02 Oct 2002 S Grier
* modified to cope with register_globals=off.
30 Sept 2002 S Grier
* removed tmp print statements from main.php.
* changed all occurrences of <? to <?php to eradicate dependency on
short_open_tag php config option.
27 Sept 2002 S Grier
* release_0_1_0devel
26 Sept 2002 S Grier
* moved TODO text to new TODO file.
* wrote README text.
22 Sept 2002 S Grier
* function getFormPOSTValues() makes rule.php more robust.
* added INSTALL.
20 Sept 2002 S Grier
* removed proxy values from conf/servers.php. will be unused until we get
proxy authentication working.
* added .htaccess files to lib/ conf/ and include/, containing 'Deny from all'.
* renamed lib/EasySieve.lib to lib/SmartSieve.lib
15 Sept 2002 S Grier
* vacation.php: improved checkRule(). now checks for values which
exceed $default->max_field_chars and $default->max_textbox_chars.
* rule.php: improved checkRule(). no longer rejects From: and To:
values which don't contain an '@' character. now checks for values
which exceed $default->max_field_chars and $default->max_textbox_chars.
* added $default->max_field_chars and $default->max_textbox_chars
to control the size of values we accept from input fields and
text boxes on rule.php and vacation.php.
* added help menu items to all pages controlled by conf/config.php.
* added images/up.gif and images/down.gif for order links on main.php.
* a few aesthetic changes to all pages.
14 Sept 2002 S Grier
* main.php: numerous changes.
* rule.php: modified to retrieve form values using AppSession::getFormValue().
* vacation.php: further modified to retrieve form values using AppSession::getFormValue().
12 Sept 2002 S Grier
* lib/EasySieve.php: added getFormValue function. this will retrieve a POST/GET
value and do the following:
- pass it through stripslashes() if magic_quotes_gpc set to on in php.ini
- pass it through strip_tags() to remove any HTML
- remove trailing whitespace (rtrim())
* main.php: modified to retrieve form values using AppSession::getFormValue().
* vacation.php: modified to retrieve form values using AppSession::getFormValue().
09 Sept 2002 S Grier
* Added license info on all source files.
* Added cvs Id tags to most files.
01 Sept 2002 S Grier
* main.php: - changed ruleID to rindex to fix bug with last commit of ChangeOrder code.
- fixed incorrect class value of 'enable' option.
* include/main.js: changed ruleID to rindex to fix bug with last commit of
ChangeOrder code.
* rule.php: now sets a priority value based on new $script->pcount value.
* lib/EasySieve.lib: - added code to updateScript to reset priority value of rules.
Note we only set these values at all for compatibility
with Websieve.
- new $script->pcount value for current highest priority value.
Used for setting priority value of new rules.
- retrieveRules now sets $script->pcount value.
30 August 2002 S Grier
* main.php: Added functionality to change the order the filter rules
are saved in. An up and down arrow on the right of each rule
moves the rule either up or down accordingly.
* include/main.js: ChangeOrder function added.
31 July 2002 S Grier
* vacation.php: better display and logging of all error messages.
30 July 2002 S Grier
* rule.php: better display and logging of all error messages.
28 July 2002 S Grier
* main.php: better display and logging of all error messages.
27 July 2002 S Grier
* rule.php: will now not get enable/disable options following failed save.
$Id$