/
CHANGES
978 lines (680 loc) · 32.8 KB
/
CHANGES
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
slash-1.0.7, 2000.07.xx
-----------------------
* Poll booth now checks to insure answers are in range before
counting them
* Removed spurious entries for user with uid "7" in users_
tables in slashdata_dump.sql
* Add schema changes for 1.0.6 back into slash_schema.sql
* Added fixparam() function (same as fixurl($foo, 1)) and
cleaned up fixurl() to better handle stuff
* Slash now checks story dates for validity before saves and updates.
slash-1.0.6, 2000.07.10
-----------------------
* Don't let BLOCKQUOTEs nest more than 4 in comments.pl (same
as UL and OL)
* Added Bundle::CPAN to Bundle::Slash (see INSTALL)
* Don't let users edit authors without seclev >= 500 (ttyp0)
* Fix for all TEXTAREA sections, converting all < and > and &
characters to HTML entities
* Add text next to "moderate" button to warn authors that
checkbox is for deleting comments
* Change redirect code to use URI->new_abs->canonical
(still use old method if $rootdir eq '')
* Fixed bug in search.pl where users could not click back to
the first page of results using the "xx previous matches"
link (Joris Trooster)
* When performing a user search using search.pl, it will also
check the fakeemail field, in addition to the nickname
* Fix to allow "%" and "#" in URLs for Slash::fixurl()
* No longer show comments to regular users in submit.pl
* Disallow most characters from nicknames in users.pl
* Add session-based cookies for Anonymous Coward for use
with formkeys in submission and comment posting forms
in Slash.pm, comments.pl
* Slash::setCookie() can be called with an addition boolean
parameter to set temporary, session-based cookies
* Fixed bug that allowed users to moderate a single comment more
than once
* Submission titles are now shown on the browser's titlebar
* Section articles appearing on the main index now also have a
link to the section's home page by the "Read More" link
(Russ Nelson)
* Fixed bug where authors could moderate if they were logged in as
authors, but not logged in as a registered user
* Added 'active' field to moderatorlog (yes, it probably
could have been called something better) to track which
moderation attempts actually succeed. Done mainly due to the
fact that there are some situations where we may want to make
certain moderations that don't get applied still applicable to
M2 review. comments.pl and article.pl have been made aware of
this new field
* Metamoderation results are now counted. The number of times a
user's moderation is voted fair or unfair is now counted in
users_info (columns m2fair and m2unfair)
* Fixed small bug in admin.pl which would result in bugs while
saving and editing topics if $I{basedir} was not derived from
$I{datadir} (i.e., if the 2 directories were on different
partitions)
* If there were no images in the topic images directory, the topic
editor would display a select list with no items. Now, a warning
is displayed and the user is given an input box filled with the
current filename
* Hit counting has been disabled (again) in search.pl due to
problems with httpd stability. Aparently precounting results,
even on fast servers will cause a huge load on MySQL which then
flakes out the httpds. Will be analysing this to see if a
solution can be found. Until then, we will only count the
number of matches we've encountered and the bottom link will
say "More matches..." as opposed to "x more matches"
* More counts added for M2, now in addition to counting the
number of times a user is voted fair or unfair, we also count
the times a user VOTES fair or unfair. The last pair of numbers
can be used to determine if your Slash metamoderation system is
being abused. (This adds 2 new columns to users_info:
m2fairvotes and m2unfairvotes)
* Changes to the moderation system, these can be summed up by
describing the following new variables added to slashdotrc.pl:
m2_maxunfair: Float from 0 to 1. This number determines
the percentage of unfair votes that indicates
abuse. The user performing M2 will quietly be
assessed a karma penalty and their votes will
be ignored if their percentage of unfair votes
equals or exceeds this value.
m2_toomanyunfair: Float from 0 to 1. This number
determines the percentage of unfair votes that
indicates POSSIBLE abuse of the system. If the
percentage of unfair votes exceeds this value
then these votes are ignored. No penalty is
assessed.
m2_mincheck: Integer. Number of comments which have to
be voted on before the above checks are
performed.
m2_comments: Number of comment moderations to be
displayed in a single M2 session.
m2_bonus: Amount of karma to be awarded upon completion
of M2.
m2_penalty: Amount of karma to be subtracted if M2 is
abused.
m2_maxbonus: Karma maximum from M2. If a user's karma
exceeds this value, then said user receives no
further bonus or his participation.
* Added the 'flag' column in metamodlog; this indicates how an M2
session was treated and is a good way to check for possible M2
problems. Currently flag can be the following values:
0 - No detected problems with M2
1 - Questionable M2. Votes ignored
2 - Abuse of M2. Votes ignored and UID penalized
* Renamed slashdotrc.pl variables:
'goodkarma_limit' is now 'goodkarma'
'badkarma_limit' is now 'badkarma'
* User's ID (UID) added to comment headers
* Names of the comment poster have been removed during
metamoderation
* Fixed a minor bug in metamod.pl that inadvertantly stopped the
injection of new eligible users into the metamoderation pool
* Added "<rss> ... </rss>" to .rdf file, and added encoding
of "ISO-8859-1" (will later be configurable) in slashd
(Roger Carneiro Soares)
slash-1.0.5, 2000.06.13
-----------------------
* Section articles that appear on main page will now have the
section part of the titles as a link to that section's index
* Now shows author comments while viewing the submission as
opposed to trying to scroll through the small input box in the
submissions list
* Fixed bug in comments.pl::commentIndex() which would display
stories that were 'Never Display' or that had not yet gone
'live'
* Added some fixes for Slash::reparentComments()
* Fixed typo s/an <B>valid/a <B>valid/ in users.pl (David-T)
* Small edits to logging in slashd, adding logging to a file
(logs/moderatord.log) in moderatord
* Added /'s before links in mainmenu block in slashdata_dump.sql
(David-T)
* Took form checking code out of .pl files and put into functions
in Slash.pm:
insertFormkey: inserts new formkey
checkSubmission: checks to see if a form submission
is valid
checkTimesPosted: checks to see if max posts reached
submittedAlready: checks to see if a form with a given
formkey has been posted already
formAbuse: logs attempts to fook, break, or
flood a particlar form
formSuccess: updates formkeys table with a submit
time for a given formkey and
increments value to 1 (submitted)
* Warn user before they try to submit that max submissions has
been reached (comments.pl and submit.pl)
* Fixed code to check if formkey for a submission is being
submitted by the IP address that it was initially created under
* New function Slash::errorMessage(), prints out whatever
argument it receives
* Added/modified tables:
abusers: added columns reason, query_string
formkey: changed comment_length to content length
host_name: changed to varchar(30) - was varchar(15)
* Slightly changed regex in submit.pl to not munge submitted
URLs that are directly preceded by a > character
* Strip out all trailing space, better identifying of URLs,
in $introtext in submit.pl
* Send Mail::Sendmail warnings in Slash::sendEmail() to
Slash::apacheLog()
* Fixed typo in admin.pl, \n was in single quotes (garyb)
* Removed some functions from @Slash::EXPORT that were not
being used outside Slash.pm
* Changed $I{r} in Slash.pm to get Apache->request only if
$ENV{GATEWAY_INTERFACE} =~ m|^CGI-Perl/|, instead of looking
at $ENV{SCRIPT_NAME}
* Added code to filter certain form inputs as soon as they are
first received in Slash::getSlash() (especially inputs that
should be numbers), added new function Slash::fixint()
* Changed around all the HTTP header stuff to use CGI::header()
in Slash.pm; hopefully, this will fix problems and not create
new ones
* Changed Slash::setCookie() to return hashref instead of string
for use with new HTTP header scheme
* Fixed HTTP header for Slash::header() and 404.pl to return
proper 404 status code
* Close up some little holes in Slash::getSectionColors(),
pollbooth routines, search routines
* Added "attribute" parameter for Slash::stripByMode(), which
strips out not only <>& (like "literal" does), but also
strips "
* Added new function Slash::fixurl() to fix up URLs to be
good (took code from Slash::approveTag, added some more
to encode every character that is not safe or reserved,
according to RFC1738)
* Base deletions of newstories in dailyStuff on archive_delay
* Do stripByMode() of sig in users.pl after getting first 160
chars of sig, fitting into schema
* Fixed up slashhead image and WIDTH of slashhead.gif and
slashslogan.gif (Nathan Vonnahme)
* Fixed search.pl in stripping of bad chars from query string
(Michael Sims)
* Added submit_categories array to slashdotrc.pl, for adding
new categories to submissions (like Hold, Quik, etc.)
* Fixed bad color of "Moderation totals" text in Slash.pm
* Put export TZ=GMT at top of utils/slashd (n8)
* Took out code to check for matching nicknames against author
nicknames; authors should have their user nicknames reserved
already
* Added some programs to contrib directory: user2author and
sendAdminMail from madmag, and recentcomm, for getting
the most recent comments
* Plenty of minor code cleanups
slash-1.0.4, 2000.05.31
-----------------------
* Section pull-down in submissions editor should now reflect
the right section when editing submissions if 'defaultsection'
is set in slashdotrc.pl
* Fixed nickname matching in mailPassword() in users.pl
to match case indepently
* Set user's points to 0 in users.pl if they are unwilling
to moderate
* Fixed pollBooth.pl to not allow voting by anonymous users
if allow_anonymous is false
* Removed extra TD tags after motd in Slash::footer()
* Removed spurious text after commentswarning in
Slash::printComments()
* Moved code to load Slash.pm to the end of slashd, so
subroutines could be put in slashdotrc.pl to override
subroutines in slashd
* Made index.shtml update every interval in slashd, instead
of only when writestatus = 1
* Removed empty columns from grid in submit.pl
* Added mkpth call to slashd, to create logs dir
* Removed the use of IPC for speed limit (in comments.pl
and submit.pl. Now using the submit_ts column in formkeys,
which has been made into an integer (set to the value of
that the perl function time() outputs)
* Fixed bugs with the formkey and comment submission and story
submission max posting limits
* Moved redundant code from submit.pl and comments.pl that
handled formkey functionality into Slash.pm
* Fixed admin.pl to now have URL field
* Changed ratio on content filters 34 and 35 from .4 to .7/.5
(respectively)
* Fixed typo in admin.pl (Nathan Vonnahme)
* Strip & out of new nicknames
slash-1.0.3, 2000.05.22
-----------------------
* Fixed 404.pl and search.pl to strip HTML that may have been
passed in through the URL; this had been identified as a way
to redirect a user to a bad URL with a SCRIPT that would
be executed once displayed in the browser (drwiii, eithkay)
* Changed $admin mail in 404.pl to $I{adminmail}
* Fixed longstanding bug in admin.pl preventing logging in
after a logout without doing a GET reload of admin.pl
(toast@ruka.org)
* Changed autoUrl() in admin.pl back to previous state
* Fixed bad sqlInsert call in admin.pl's blockSave()
* Minor HTML tweaks to admin.pl, article.pl
* Changed "commentkey" table to "formkeys", so it can be
used for other form keys, like the submission forms,
in comments.pl (see INSTALL for directions on upgrading)
* In comments.pl's undoModeration(), don't let the score
go above 5 or lower than -1
* Added stats_reports hashref to slashdotrc.pl and dailyStuff;
contains mail addresses for daily stats reports to go to
* Changed test for last meta-moderation in metamod.pl's
isEligible(); previous test would say user had recently
meta-moderated if they never had
* Log errors getting RDFs in portald (cday)
* Changed test for fetching RDFs in portald to attempt
if "rdf" column is not empty, instead of not null
* Added call to execute a "portald-site" program; sites can put
any extra code they might want to add to portald into this
extra file (for example, in order to set blocks that are not
RDF files, using other parsing schemes, etc.)
* Switched to Mail::Sendmail instead of Mail::Sender
(this is still subject to change in the future, but we
got sick of Mail::Sender and Mail::Sendmail was an
easy replacement); added to Bundle::Slash and INSTALL
* Moved the approvedtags array to slashdotrc.pl from Slash.pm
* Only get nickname of anonymous user if we don't have it already
* Fixed bug in Slash::pollbooth where <INPUT> tag was not closed
* Turned off print of SQL Error string to browser in
Slash::sqlSelect
* Fixed some of the logic in Slash::stripByMode for "nohtml",
Slash::stripBadHtml, and Slash::approvetag for properly
dealing with user submissions, the occasional exploit attempt,
etc. (dtaylor, et al)
* Added the time since last action for Slash::currentAdminUsers()
* Fixed duplicate HTML header problem in Slash::header() by only
printing header if $title is true (so it will not print in the
header include files)
* Try to catch bad points values for posts in
Slash::selectComments() and comments.pl
* Set a threshhold of how deep comments can nest on a page;
the default is 7, but can be set with the max_depth parameter
in slashdotrc.pl; comments can be posted to any depth, but will
only be displayed at depth of max_depth from the parent comment
on any given page
* Fixed comment HTML in ULs by putting sub-lists properly wrapped
in the parent LI tags (ToastyKen)
* To slashd, added sigtrap to slashd (so if something kills
slashd, it will be logged), automatic directory creation to
prog2file(), bare-bones WML creation
* Background dailyStuff when running from slashd
* Added formkey checking, similar to comments.pl stuff, to
submit.pl
* Added grid to submit.pl list showing various views and counts in
each
* Print karma next to submittor's name in submit.pl
* Fixed font sizes for submit.pl and for pollbooth
* Fixed typo in topics.pl s/Catagories/Categories/
* Added MAXLENGTH="20" to new user nickname form element in
users.pl, and a truncating of the user nickname before it is
checked for validity and added to the database
* Added mailfrom to slashdotrc.pl and Slash.pm; it is the
address mail is sent from; also changed default hostnames
in slashdotrc.pl to "example.com"
* Took out apparently unneeded flush/lock/unlock surrounding
"delete from accesslog" statement in dailyStuff
* Added http_proxy option for portald and in slashdotrc.pl
* Changed utils/slashd to use /home/slash instead of
/home/slashdot by default (Ricardo Manuel Oliveira)
* Log more errors for portald
* Fixed missing semicolon following "<<" in Slash.pm
* Removed spurious + from some displayed nicknames
* Catch bad formkeys in comments.pl
slash-1.0.2, 2000.04.12
-----------------------
* Got rid of "Slash::" from some function calls in
*.pl files; added more functions to @Slash::EXPORT
* Added use_dept variable to slashdotrc.pl to toggle
the use of the "dept" field in stories on and off;
affects admin.pl, submit.pl, dailyStuff
* Determine image height and width of topic images in
admin.pl automatically, using Image::Size, if left
unspecified; added Image::Size to INSTALL and
Bundle::Slash
* Add "fixhrefs" key to slashdotrc.pl; each element of
the fixhrefs array is an array of two values, a regex
to match an HREF on, and a subroutine to process the
HREF if it matches; all URLs in comments (and now
in stories, in admin.pl's autourl function) are
passed through these, via Slash::fixHref()
* Fixed problem where moderation would be undone if
unlimited moderation was on for authors, an author
moderated, and then posted to that discussion
* Fixed problem in moderation logic in comments.pl, a
new bug where users with points who were not authors
could not moderate (GrnArrow)
* Added note about adding "nobody" to the "slash" group
in INSTALL (Eric Yousey)
* Removed World New York slashbox (Grant Barrett)
* Fixed up newusermsg block to include all the right
information about the site and username
* Fixed Slash::approveTag() to use regexes instead of
equality so "P .*?" and "DIV .*?" will work as expected
(Abigail)
* Moved $I{reasons}, $I{badreasons}, $I{approvedtags} to
Slash::getSlashConf(); they were getting lost in some cases
by the Apache process
* Add variable to slashdotrc.pl to not allow anonymous posts,
and allowed change of users.nickname where UID=-1 to
change the Anonymous Coward name to something else (some
code relied on the name); affects Slash.pm, users.pl,
comments.pl
* Changed Slash::currentAdminUsers() to print the current
admin user, too
* Added File::Path and use its mkpath() to make directories
in slashd
* Fixed portald to put its pid file in logs/, not /tmp/
* Removed spurious '";' text in pollBooth.pl
* Added maximum posts per IP address via $I{max_posts_allowed}
in slashdotrc.pl and modified comments.pl to use it; created
table "abusers" to log anyone who exceeds the maximum postings
for the day
slash-1.0.1, 2000.04.03
-----------------------
* small fix to fancybox, titlebar blocks; included in dump
and update scripts
slash-1.0.0, 2000.03.30
-----------------------
* Changed "unlink or die"'s in slashd to "unlink or warn"'s,
so if a file is not there or cannot be deleted, it won't
be fatal
* Upgrade to File::Spec 0.8 (added to Bundle::Slash)
* Added timestamp to submissions list, and corresponding
slashdotrc.pl variable (submiss_ts) to turn it on and off
* Use storymore block for bodytext in articles, in Slash.pm;
added new HTML for storymore block
* Added admin_timeout variable to slashdotrc.pl, which
specifies the time in minutes before an idle admin
session times out (default is 30) (affected code in
Slash.pm)
* Fixed "undefined value as ARRAY reference" in index.pl, from
when a section has no blocks
* Once again, fix All Authors and All Topics put in database
* Fix search.pl to search ALL sections (including those set
to only show up in one section) when "All Sections" is
selected (Marco Paglioni)
* Fixed users.pl to point to article.pl?sid=$sid instead of
$S->{section}/$sid.shtml if writestatus != 10 (that is, the
story is not archived) (madman, GrnArrow)
* Got rid of "javascript:" (actually, /^\w+script\b/) HREFs
so people cannot be bad (Bart Cilfone)
* Changed titlebar block because right corner looked bad in
IE 5 (Tasman is better? ha!)
* Added color block "slash_colors"
* Added the ability to preview index.pl in new colors from the
site color editor
* Added a document that walks a user through the admin interface
that is also accessable from the help admin menu
"getting_started.shtml"
* Fixed utils/slashd to not have to "su". It now runs setuser, and
modified slashd to open a pid file in logs, which is used to get
the pid to start/stop/restart the slashd daemon
slash-0.9.5, 2000.03.23
-----------------------
* Added check in dailyStuff to not send mail if there are no
new stories (nwetters)
* Added check in isTroll in comments.pl to work from
down_moderations for badUID, not just badIP
* Took out the requirement of $A->{copy} in authors.pl for the
author list to show up without "copy"
* Added commentkey table cleanup to dailyStuff, deletes
comment keys over a day old
* Changes "commentstatus" on line 51 of article.pl to
"writestatus"
* Changed Slash::header() to make menus in light version look
a little better
* Changed image link in light_header to point to rdfimg
* Added light_story_link and light_story_trailer to blocks
(GrnArrow), set type='eval' for story_link
* Set comments deletion to use $I{archive_delay} in dailyStuff
* Changed search.pl to link to static pages instead of
comments.pl of comment has already been archived
* Fixed user search in search.pl (conflict between a separate
global $U and lexical $U in the original codebase, during
code cleanup changed it to use the global, instead of
keeping it the lexical)
* Fixed portal blocks that didn't have ordernum and portal
fields properly set (quick links, uptime), quicklinks had
name changed to index_qlinks, features_qlinks
* Changed name of more blocks (Older Stuff blocks) from "more"
to "index_more", "features_more", etc.; made corresponding
changes to index.pl and cheesyportal.pl
* Changed mail text sent to users in the newusermsg record in the
blocks table, and the moderation text in article.pl, using
variables instead of Rob's name and address
* Added site information to newusermsg block (GrnArrow)
* Fixed Recent Topics link in topics.pl (GrnArrow)
* isTroll() in comments.pl returns false for authors
(authors.seclev > 99)
* Allow authors (authors.seclev > 99) to have unlimited
moderation (can edit any post at any time) with the
authors_unlimited variable in slashdotrc.pl (Archon, GrnArrow,
others)
* Slash::adminMenu() returns submission count for only articles
section if articles_only is set in slashdotrc.pl
* Got rid of spurious "; in topics.pl editpoll()
* Fixed division by zero error in pollBooth.pl
* Added 'All Topics' and 'All Authors' to topics and authors
tables in database (both have a name with no tid/aid)
(GrnArrow)
* Fixed bug where sometimes "name" was not a parameter in the
customize comments form, but was expected if user was an
author, and a spurious "coookies not working" message was
printed from users.pl
* Fixed users.pl redirection to crapMesg() when not logged in;
instead, redirect to displayForm() so user can log in
* Fix bug printing bad tables in topics.pl (GrnArrow)
* Added matchname field to users and authors, which is special
version of nickname/aid used to see if the name is already
taken, so Capt___TOFU! will not be allowed if CaptTofu exists;
added sql/fix_matchname.pl script to alter database and
populate matchname field for existing records, and added
checks to newUser() in users.pl
* Require File::Spec::Functions. If you already have File::Spec
0.7, you are fine; if not, get KJALB/File-Spec-0.7.tar.gz from
CPAN, and use `make install UNINST=1` to uninstall version that
came with perl 5.005); not added to Bundle::Slash because
File::Spec in Bundle::Slash tries to install perl5.6.0
* Fixed Slash::getSlashConf() to work properly when calling
programs on the command line from public_html/ or sql/.
* Changed name/link for moderator directions in article.pl
(Archon)
* admin.pl fixes/additions/updates
- new colors editing section
- improved section editing
- improved block editing section
- ability to revert block changes (using new blocks column
"blockbak")
- ability to revert color changes (using blockbak column in
blocks for bid = 'color')
- vastly improved author editing
slash-0.9.4, 2000.03.15
-----------------------
* Allow block IDs containing underscores to be viewed as
slashboxes (change regex in checkList in users.pl)
* Added a bunch of checks for opens and unlinks in portald,
slashd, dailyStuff; errors for slashd etc. printed to
slashd log
* Made change to IPC stuff in comments.pl, tying to has instead
of hashref; turned $I{use_ipc} off by default in slashdotrc.pl
* Fixed slashd to only run queries if ssID and ssRUID have values
* Fixed pollBoth.pl typo (s/CLSPAN/COLSPAN/) (buddah, XenoWolf)
* In search.pl, only print image if there is a topic ID
* Fixed cheesyportal.pl table bug by making table width="200" in
fancybox block (Tom Massey)
* Fixed references bug in admin.pl for topiceditor
* Changed Submissions count in Slash::adminMenu to return total
submission count, not just submissions for the article section
* Added WIDTH="100%" to story_link and story blocks to make blocks
line up properly in IE and iCab browsers
* Removed the regex to remove whitespace in slashd (sometimes
whitespace is needed and required)
* Fixed bad link to comments.pl in users.pl
* Activated newmotd() call in slashd (Simon Hanington)
* Fixed bug with $I{rootdir} not put in path for .inc files
(Lit-Hsin Loo)
* Fixed call to userlogin block in article.pl to evaluate
$I{rootdir}
* Big ol' cookie fix in Slash.pm, and $I{cookiedomain} is now
undefined by default (Everyone!)
* Changed s/&/&/g regex in portald to check to see if the
& is the beginning of an entity (such as ' or  )
before changing it to &.
* Added Bundle::Slash into distribution for real this time
* Added capability for users to view submissions in submit.pl,
if submiss_view set to true in slashdotrc.pl
* Various fixes and enhancements to admin.pl.
* Fixed blocks and sectionblocks table to have 1:1
relation, put in the dump, or fix_blocks.sql and
alter_blocks.sql for those who aren't using the
full dump
* Changed various submit buttons to have various form
names instead of "op" to allow buttons to display
descriptive action names
* Added block deletion to the blocks editing page
* Added form element for "portal" value
* Cleaned up code to work the same for all types of
blocks and to work with both tables correctly
* Cleaned up the filter editing blocks
* Fixed broken topics and section editing
* Fixes to sections.pl
* Added vhost.httpd.conf example configuration for multiple Slash
instances running as virtual hosts
slash-0.9.3, 2000.03.03
-----------------------
* For all code and blocks (aside from slashboxes), reworked all of the
global variables into being in one big global hash, so multiple
instances of slash could coexist. Made all code run under -w and
use strict. Normalized tabbing and spacing. Cleaned up HTML and
Perl a bit to make it easier to read. The HTML is still not
compliant with any known DTD, but it is closer, and easier to work
with.
* "Use of uninitialized value" warnings are caught by __WARN__ sig
handler in Slash.pm
* New function getSlashConf() added to Slash.pm, which returns a hashref
containing the config info for that server instance. All previous
globals are referenced through the %I variable. $dbh is now $I{dbh},
$$U{uid} is now $I{U}{uid}, etc. Read documentation in slashdotrc.pl
and httpd.conf for how this all works.
* Added redirect() function to Slash.pm; HTTP headers are now printed
from header() function instead of getSlash() function. A new variable
SETCOOKIE is used to store any cookie that is to be printed to the
browser. header() and redirect() print the cookie in the HTTP headers
if it is defined. redirect() is called to do an HTTP redirect instead
of the previous method of META redirects.
* Users who log in via the URL (http://site/index.pl?op=userlogin ...)
will now be redirected to the home page, so they will not keep their
user name and password in the query string, which would then be passed
on in the HTTP_REFERER to any site they linked to from that page.
* slashdotrc.pl looks different now; it now sets a hash, which is then
referenced in the %Slash::conf global hash by either its
$ENV{SERVER_NAME} (when that variable exists) or $$ (the PID, for
slashd, which does not have $ENV{SERVER_NAME} set)
* Added updatemin to slashdotrc.pl and slashd, which is the amount of
minutes to delay before slashd runrs its normal periodic functions
(default was previously five minutes, approximately)
* Added cookiepath to slashdotrc.pl, which is set automatically, but
may be defined with any value; defaults to root directory, which
makes cookies work more better (Joshua Kronengold)
* Added mainfontface var for determining font face used on site, and
fontbase var for base size of fonts (default is 0)
* Added archive_delay var to slashdotrc.pl and dailyStuff, to allow
configuration of number of days to wait before archiving an article
and deleting its comments (Bernard)
* Fixed INSTALL to create /etc/apache.listen instead of /etc/listen
(Igor Loncarevic)
* Added parentheses to getTopicBank and getSectionBank in Slash.pm (JD
Brennan)
* Added note in INSTALL about setting values in httpd.conf and
slashdotrc.pl
* Added extra <TD> </TD> to article.pl (Mike Killewald)
* Changed created RSS file from slashdot.rdf to sitename.rdf,
where "sitename" is the site's name, without spaces or punctuation
and lowercased. Same thing with XML file.
* Added "blocked" button on block editing screen in admin.pl,
so you can edit a block without saving the current one
(Curt Johnson)
* Added info about reinitializing database from scratch to INSTALL
(Mike Lewis)
* Changed call for "neworder" field to "newordernum" in sections.pl
(Curt Johnson)
* Added note about making home directory readable and executable by
all
* Added Bundle::Slash module to distribution, notes about Bundle::Slash,
IPC::Shareable and Compress::Zlib in INSTALL
* Fixed lack of nickname in mailings in dailyStuff (Paul Schuh)
* Fixed index.pl number of stories to post every story from today, and
at least 1/3 of maxstories.
* Added speed limit for posting to comments.pl, with post_limit and
use_ipc variables set in slashdotrc.pl (requires IPC::Shareable,
but only if use_ipc is set to true)
* Added commentkey table for passing a unique key to each form to
prevent repeat posting with the same form
* Added comment filters to Slash.pm and admin.pl (Compress::Zlib
required); filters modified through admin.pl interface, added
comment_filters table
* Fixed bugs in metamod.pl, so meta-moderation is working now, and
added a metamodlog table (cleaned out every three days in
dailyStuff, just like moderatorlog)
* Turned retrieve=0 for almost all portald blocks in sectionblocks,
so new Slash sites will not get any of those slash boxes updated
unless they manually set retrieve=1 for each one that they want
to be active
* Completely revamped and updated block editor, including separation of
portald blocks, description and type column in blocks table,
set retrieve and other data from editor
* Added some upgrade instructions to INSTALL, added files
slashblocks_dump.sql and alter_database.sql to distribution for
upgrading from slash-0.9.2
* Added bin/tailslash to distribution (called from dailyStuff)
* Reworked sample httpd.conf, including sample method of doing
virtual hosting with multiple slash sites working simultaneously
* Removed locking from portald updates
slash-0.9.2.1, 2000.02.03
-------------------------
* Small bugfix to dailyStuff - needed to use $adminmail instead of
"$admin\@$basedomain"
* Small but very important bugfix to Slash that allowed trolls to put
images in comments (adding stripBadHtml back in)
slash-0.9.2, 2000.02.01
-----------------------
* Added $adminmail to Slash.pm, slashdotrc.pl, users.pl, comments.pl,
used instead of "$siteadmin\@$basedomain"
* Added $cookiedomain to Slash.pm, slashdotrc.pl, used instead of
$basedomain
* slashdotrc.pl reformatted
* Changed stripByMode and stripBadHtml in Slash.pm, fixing some bugs in
comments postings and adding new feature, allowing people to have
indented text in plaintext mode (Ben Tilly)
* Changed errant "$bg[3]" in Slash.pm to the proper "$fg[3]" (Paul
Schuh)
* Delay making discussions active until is story is posted in admin.pl
and comments.pl
* Added new sub to comments.pl to check validity of comments, used for
previews and submissions. Remove extra close tags and add missing
close tags for allowed HTML markup that require close tags, and don't
allow too much UL/OL nesting (storem)
* Don't allow PID to be passed in the form in comments.pl
* Fixed security hole in newUser in users.pl that allowed a user to
create a new user with any nickname, by passing in HTML that would be
stripped out after the check for existing username was made
* Added /usr/local/apache_logs to INSTALL
* Added some utilities in utils directory
slash-0.9.1, 2000.01.28
-----------------------
* s/slashdot/slashd/g in utils/slashd (bvd)
* Changed mail address to correct value in dailyStuff
* Fixed RSS file generation code to use $slogan and $rdfimg in
slashdotrc.pl (added $rdfimg variable to Slash.pm and slashdotrc.pl)
* Added code to include "Read More" links in extra box below articles
in public_html/index.pl
* Changed sql/predata_dump.pl to strip newline from hostname,
and to accept optional hostname on command line
* Changed RSS for lilithfair to WomensMusicNews (James Turinsky)
* Lots of changes to INSTALL:
Added TimeDate Perl distribution
Added more information about installing Perl modules, which
ones to use, where to install them, etc.
Added step to create /etc/apache.listen
Added extra admonition to change passwords (JT)
Run mysqld in GMT
* Added INSTALL.debian (Bernard)