]> git.p6c8.net - devedit.git/blob - CHANGELOG
Changed license to Artistic License 2.0
[devedit.git] / CHANGELOG
1 Change Log for Dev-Editor
2 =========================
3
4 Version 3.2 (201x-xx-xx):
5 =========================
6
7 Unpacking archive files:
8 ------------------------
9 Dev-Editor is now able to unpack some types archive files. You may unpack
10 archive files in directory listing or immediately after uploading it to the
11 server.
12 To achieve this, Dev-Editor relies on the Perl module Archive::Extract (core
13 module since 5.10, I guess). If Archive::Extract is not available, unpacking
14 of archives is automatically disabled.
15
16 Disabling commands:
17 -------------------
18 Added new configuration option "disable_commands" for disabling commands of
19 Dev-Editor.
20
21 Start directory:
22 ----------------
23 Added new configuration option "startdir" which defines the default directory
24 instead of "/".
25
26 HTTP download:
27 --------------
28 You may now execute a HTTP download of a file.
29
30 Small changes:
31 --------------
32 - Added a checkbox for editing a file after creating it.
33 - Changed the colour scheme in directory listing.
34 - In directory listing, added links for (un-)selecting files.
35
36 Version 3.1 (2009-05-12):
37 =========================
38
39 Removing multiple files:
40 ------------------------
41 In the directory listing, there are now checkboxes for selecting files and a
42 button for removing them.
43
44 Better distinction of objects in directory listing:
45 ---------------------------------------------------
46 For a better distinction of the objects in directory listing, every second
47 object has a grey background now.
48
49 Remote name for uploaded files:
50 -------------------------------
51 When uploading a file, you can now specify a name for the file on the server.
52
53 Prefilled form fields:
54 ----------------------
55 If you want to copy or rename/move a file or a directory or save a file using
56 a different name, the form field for the new filename is prefilled with the
57 old one. Additionally, the entered path is no more relative to the directory
58 of the original file.
59
60 Hide dot files:
61 ---------------
62 When the new configuration option "hide_dot_files" is set to 1, every file or
63 directory beginning with a "." is not shown in the directory listing. But you
64 can still access the file / directory by typing its name into the "Go to
65 directory/file" box.
66 This option is also available in the user-dependent configuration.
67
68 Copyright note:
69 ---------------
70 In the header of each file, there is a now a copyright note and a reference to
71 the Artistic License.
72
73 Template class updated:
74 -----------------------
75 The template class was updated to version 2.0.
76
77 Version 3.0.1 (2005-11-10):
78 ===========================
79
80 Accessing files above the virtual root directory:
81 -------------------------------------------------
82 It was possible to access files and directories above the virtual root
83 directory beginning with the same string as the root directory.
84 For example:
85 If your root directory is "/var/www/user1" it was possible to access
86 "/var/www/user10", "/var/www/user11" and so on.
87
88 Version 3.0 (2005-10-18):
89 =========================
90
91 Editing function changed:
92 -------------------------
93 - The concept of locking the file for other users before editing it is not very
94 good, causes some problems and makes it difficult to add new features. So I
95 decided to remove it.
96 - When Dev-Editor shows the form for editing a file, it calculates the MD5
97 checksum and places it in the editing form. Before saving the file, the MD5
98 checksum is calculated again and compared to the submitted one. If the two
99 sums don't match, Dev-Editor does not save the file and shows the editing
100 form.
101 - In the edit dialogue, there is also a new submit button allowing to continue
102 editing the file after saving it.
103 - Removed the possibility of encoding ISO-8859-1 HTML entities when saving a
104 file. I don't know if anybody used this function.
105
106 Copy directories:
107 -----------------
108 Dev-Editor is now able to copy a directory.
109
110 Forbid file access:
111 -------------------
112 The administrator may now define a list of files the user is not allowed to
113 access.
114
115 Individual configuration:
116 -------------------------
117 Now, Dev-Editor is able to switch some configuration values depending on the
118 current HTTP Auth user.
119 This is controlled by a separate configuration file containing sections like
120 Windows INI files (thus the configuration file parser is now able to parse
121 files containing sections in square brackets).
122 You may overwrite the following configuration values:
123 - fileroot
124 - httproot
125 - forbidden (you may also clear the default "forbidden" list)
126
127 Configuration files renamed:
128 ----------------------------
129 The extension of the configuration files is "conf" now.
130
131 Names of error messages changed:
132 --------------------------------
133 I changed the names of some error messages:
134 binary -> binary_file
135 cmd_unknown -> command_unknown
136 dir_read_fail -> dir_read_failed
137 create_ar -> create_above_root
138 not_exist -> not_found
139
140 File names containing a "+" sign:
141 ---------------------------------
142 If a file name contained a "+" sign, Dev-Editor was sometimes not able to
143 access the file, because the "+" was interpreted as a space.
144
145 Check octal numbers:
146 --------------------
147 Before changing the permissions of a file, Dev-Editor now checks if the user
148 entered a valid octal number.
149
150 Encoding of HTML entities:
151 --------------------------
152 - All HTML in output is now properly encoded
153 - HTML::Entities is a little bit slow and does currently not support very much
154 encodings. Now, we just encode the HTML control characters (<, >, & and ").
155 This also means that Dev-Editor now does not require any CPAN module.
156
157 Template class updated:
158 -----------------------
159 The template class was updated to version 1.5.
160
161 Small changes:
162 --------------
163 - Don't show the "Copy" link if a file is not readable
164 - Added checkboxes in the "Copy" and "Rename" dialogues for immediately
165 overwriting an existing file
166 - Preserve the directory listing filter if the user changes the directory using
167 the input field at the bottom of the directory listing
168
169 New in version 2.3.2 (2005-04-23)
170 ---------------------------------
171
172 Copying a file out of a directory:
173 ----------------------------------
174 Fixed a really strange bug occuring only on Windows systems.
175 Dev-Editor was not able to copy (or move) a file out of a directory if the
176 path, the user entered in the corresponding dialogue, was beginning with "../".
177
178 Empty root directory causes incomplete HTML table:
179 --------------------------------------------------
180 Dev-Editor now does not create an incomplete HTML table if the root directory
181 is completely empty or no files are matching against the current wildcard.
182
183 move() instead of rename():
184 ---------------------------
185 Dev-Editor now uses the move() function from the File::Copy module to move or
186 rename files and directories. move() is more reliable than the rename()
187 function.
188
189 No error message if reading of a directory failed:
190 --------------------------------------------------
191 If reading of a directory failed, no error message was shown. I thought this
192 bug was fixed...
193
194 Template class updated:
195 -----------------------
196 The template class was updated to version 1.4a.
197
198 New in version 2.3.1 (2005-02-19)
199 ---------------------------------
200
201 Handling of symbolic links changed:
202 -----------------------------------
203 For security reasons, I completely changed the handling of symbolic links:
204 Symbolic links are now treated as files, no matter where they point to. The
205 user is just allowed to see the path where the link points to, he is allowed to
206 delete the link, to rename it and to overwrite it by renaming an other file.
207 Nothing else is allowed.
208 Accessing a symbolic link pointing to a directory caused also a very strange
209 effect: It was possible to access this directory, but you could not access
210 the objects in it.
211 I had to do it in this way because of the very stupid behaviour of abs_path()
212 from the Cwd module: This function is just able to detect the absolute path of
213 directories.
214 Hard links are not affected by this, because it is not possible to detect them
215 (at least I don't know how to detect them).
216
217 Root directory must not be a symbolic link:
218 -------------------------------------------
219 Now, the root directory must not be a symbolic link.
220 Sorry for this, I really would have liked to allow the root directory to be a
221 symbolic link, but if I would allow this, Dev-Editor would not be able to
222 create files in the root directory. I'm looking for an alternative...
223
224 Use Greenwich Mean Time:
225 ------------------------
226 You may now use Greenwich Mean Time (GMT/UTC) in dates instead of the local
227 time.
228 I don't know if anyone needs this, but it could be useful.
229
230 Handle errors produced by File::UseList:
231 ----------------------------------------
232 - Check if unlocking of the list of files in use was successful
233 - Check if a file could be successfully added to the list of files in use
234 - Check if a file could be successfully removed from the list of files in use
235
236 Saving to non-existing files:
237 -----------------------------
238 The file saving process was aborted if the user wanted to write text data using
239 the edit function into a file that does not exists.
240 The reason was that Dev-Editor thought that this non-existing file was a binary
241 file.
242
243 Template class updated:
244 -----------------------
245 The template class was updated to version 1.4.
246 This fixes the problem of the infinitive loops produced by incorrectly nested
247 {IF} blocks.
248
249 Small changes:
250 --------------
251 - Files locked with the flock() function are now unlocked by the close()
252 function due to security reasons (see
253 http://forum.de.selfhtml.org/?t=101375&m=622582)
254 - Changed the names of two error messages:
255 dircopy -> dir_copy
256 editdir -> dir_edit
257 - Fixed various small errors in some template files
258 - The regular expression used by file_name() and upper_path() to detect Windows
259 drive letters was not case-insensitive
260
261 New in version 2.3 (2005-01-08)
262 -------------------------------
263
264 Filter directory listing:
265 -------------------------
266 Dev-Editor is now able to filter the directory listing using DOS-style
267 wildcards.
268 I think that is a little bit incomplete, Dev-Editor should be able to
269 "remember" the filter wildcard during the actions.
270 The code for parsing DOS-style wildcards is from the File::DosGlob module by
271 Gurusamy Sarathy.
272
273 flock():
274 --------
275 Dev-Editor now uses flock().
276 flock() is called using a wrapper function which checks if it is really
277 available.
278
279 check_path() broken on Windows:
280 -------------------------------
281 On Windows systems the check_path() routine was heavily broken (this routine
282 checks if someone tries to access a path above the virtual root directory). It
283 was possible to access files above the root directory by accessing a path with
284 "..." or "...." or something like that as the last path component. This bug was
285 caused by the rewrite of check_path() in Dev-Editor 2.2.
286
287 "." or ".." as end of a path:
288 -----------------------------
289 If you enter a path with "." or ".." as the last path component, Dev-Editor
290 showed a really strange behaviour by allowing to enter a path like
291 "something/." or "something/..". This was also caused by the (poor) rewrite of
292 check_path(). The problem is fixed now.
293
294 Paths beginning with "/../" caused problems:
295 --------------------------------------------
296 When composing the temporary virtual path for a new file, don't call
297 clean_path(). It is unnecessary and it also caused a problem if this path would
298 begin with /../, because on UNIX systems, canonpath() removes /../ at the
299 beginning of a path. So if a user wanted to create the file /../file.ext (but
300 he wasn't allowed to), he created /file.ext.
301
302 Deny changing file properties in some cases:
303 --------------------------------------------
304 - Do not allow to change the properties of the root directory
305 - Do not allow to change the properties of a file in use
306
307 Deny overwriting files:
308 -----------------------
309 - While processing a file upload, check if the user wants to replace a
310 directory or overwrite a write-protected file
311 - If the user wants to copy or rename a file, check if he wants to overwrite a
312 write-protected file
313 - Do not allow to upload a file if a file with the same virtual name is
314 currently in use
315
316 Validate file uploads:
317 ----------------------
318 Dev-Editor now tries to validate a file upload by checking the handle created
319 by the CGI module.
320
321 Improved configuration file parser:
322 -----------------------------------
323 - The parser now ignores lines like that:
324 = Value
325 Such lines could lead to properties with empty keys in the configuration
326 hash.
327 - Allow configuration options with empty values
328 - If a option is defined twice, the line number of the second one is shown in
329 the error message
330
331 Output changes:
332 ---------------
333 - More encoding of HTML entities
334 - In directory listing, the "Edit" link of files in use were not greyed (very
335 nasty)
336 - Show the name of the lock file in error messages even if it has not been
337 defined in the configuration file
338
339 Small internal changes:
340 -----------------------
341 - The file saving process is now completely centralized in File::Access
342 - When generating a redirection header, check if we really have to create a
343 query string
344 - Fixed a bug occuring if the "curdir" CGI parameter had no trailing slash and
345 the "newfile" parameter had no leading slash
346 - Dev-Editor now takes more care of Windows drive letters
347 - Trying to increase speed of the script by surrounding static values by single
348 quotes
349 - Code cleaning
350
351 New in version 2.2a (2004-11-29)
352 --------------------------------
353
354 File uploads did not work:
355 --------------------------
356 Dev-Editor normally tests if it has enough permissions to upload a file to a
357 directory. But the condition was missing and so Dev-Editor always aborted file
358 uploads and didn't even display the dialogue.
359
360 New in version 2.2 (2004-11-27)
361 -------------------------------
362
363 `chgrp` system command and numerical group names:
364 -------------------------------------------------
365 When changing the group, Dev-Editor is now using the `chgrp` system command.
366 This allows to use numerical group names. Before, Dev-Editor handled numerical
367 values as group IDs.
368
369 Checking root directory:
370 ------------------------
371 Dev-Editor now checks if the root directory exists and if it may be accessed.
372 This fixed also bug where it was possible to access the physical root directory
373 if Dev-Editor could not enter the virtual root directory.
374
375 Checking directory permissions:
376 -------------------------------
377 Dev-Editor does some simple checks of directory permissions now:
378 - Inaccessible directories are greyed in directory listing. You cannot access
379 them, but the actions are not disabled, because they may work.
380 - Actions needing write access to a directory are aborted if Dev-Editor has no
381 write access.
382
383 Access a directory structure similar to the root directory:
384 -----------------------------------------------------------
385 The path the user wants to access must now BEGIN with the root directory. The
386 old check made it possible to access a directory structure outside the root
387 directory similar to the root directory.
388
389 Changing mode of a directory with mode 000:
390 -------------------------------------------
391 It was not possible to change the mode of a directory with mode 000.
392
393 Upload only to directories:
394 ---------------------------
395 Dev-Editor now checks if the user really uploads a file to a directory.
396
397 Improved About dialogue:
398 ------------------------
399 - Dev-Editor now only shows the main group ID of the process user.
400 - Dev-Editor also shows the current umask of the process.
401 - Special chars in most values are now encoded to entities.
402
403 Added <label> tags:
404 -------------------
405 For a better usability in some browsers, I added <label> tags for the
406 checkboxes and radio buttons in file edit and file upload dialogue.
407
408 Directory links in error messages:
409 ----------------------------------
410 Some error messages generated by the main program now contain a link to the
411 root directory.
412
413 Bugs in HTML generation:
414 ------------------------
415 - If Dev-Editor could not read a directory, it did neither display an error
416 message nor a directory link.
417 - Some error messages had problems with {DIR} variables. Thus the variable in
418 error.htm which will be replaced by a back link is now called "{BACK}".
419 - When viewing a file, Dev-Editor inserts the contents of the file into the
420 viewfile.htm template file AFTER parsing the "editable" {IF}-block, because
421 Dev-Editor showed a very ugly behaviour when viewing this template file.
422
423 Code cleaning:
424 --------------
425 I tried to clean the source code of Dev-Editor a little bit. Some parts of the
426 code were optimized.
427
428 New in version 2.1a (2004-10-22)
429 --------------------------------
430
431 Changed file saving error handling:
432 -----------------------------------
433 Now we already unlock the file saving process, because if an error occurs
434 during this process, the file keeps locked.
435 This is not a perfect solution, there are still problems. I have to figure out
436 another one.
437
438 New in version 2.1 (2004-10-14)
439 -------------------------------
440
441 Overwrite files during file upload:
442 -----------------------------------
443 In file upload dialogue, there is a new checkbox which allows to overwrite
444 files during file upload if they already exist.
445
446 Improved file saving:
447 ---------------------
448 The process of file saving has been improved:
449 - Saving even works if the file has to be created first.
450 - Dev-Editor is now checking if the user wants to write text data into a binary
451 file.
452 - If the user just entered spaces as filename (detection works for other
453 commands using the "newfile" CGI parameter too), we use the original
454 filename.
455
456 Don't copy a directory:
457 -----------------------
458 Dev-Editor now denies copying a directory.
459
460 Check before manually unlocking:
461 --------------------------------
462 Dev-Editor now checks if the file is really locked before displaying the
463 dialogue for manually unlocking a file. If it is not locked, Dev-Editor returns
464 to directory view. Dev-Editor also behaves in this way if it is trying to
465 unlock a file.
466
467 Wrong error messages:
468 ---------------------
469 Something definitely went wrong when I remade the copy and the rename
470 functions: They printed a wrong error message if the destination already
471 existed and if it was a file.
472
473 New in version 2.0 (2004-08-10)
474 -------------------------------
475
476 File uploads:
477 -------------
478 Dev-Editor is now able to process HTTP file uploads. The files may be
479 transferred in ASCII or binary mode (similar to FTP).
480
481 Change mode and group:
482 ----------------------
483 Dev-Editor is now able to change the mode and the group of a file or a
484 directory.
485
486 HTTPS support and non-default ports:
487 ------------------------------------
488 Dev-Editor is now able to detect a HTTPS connection and if the web server
489 doesn't listen on the default ports (necessary for reloading Dev-Editor).
490
491 Do not allow removing or renaming the root directory:
492 -----------------------------------------------------
493 Dev-Editor now denies removing or renaming the root directory.
494
495 Renaming files outside the root directory:
496 ------------------------------------------
497 There was a bug which caused Dev-Editor not to rename files outside the root
498 directory if they already exist.
499
500 Improved file editing:
501 ----------------------
502 When the user wants to save an edited file using a different file name,
503 Dev-Editor now unlocks the original file and checks if a file with this
504 different name already exists and if it is locked.
505
506 Improved file creating:
507 -----------------------
508 The routine which creates empty files had a race condition which could set
509 files to 0 if they already exist.
510
511 Maximum size for files:
512 -----------------------
513 The administrator may now define a maximum size for files in the main
514 configuration file. If the user wants to view or edit a file larger than this
515 defined size, Dev-Editor denies file access (but the file can still be copied,
516 renamed or removed).
517
518 Form for creating new files or directories:
519 -------------------------------------------
520 In directory listing, when clicking on the buttons next to the fields for
521 creating new files and directories without entering a file or directory name,
522 the user got an error message which is a little bit strange.
523 Now, the user will see a form for creating new files or directories.
524
525 Newlines are converted while reading:
526 -------------------------------------
527 Whenever Dev-Editor now reads a file for output, it converts any line separator
528 to the system specific one.
529
530 Case-insensitive commands:
531 --------------------------
532 The commands are now case-insensitive, so the command "ShOw" is the same as
533 "show".
534
535 About screen:
536 -------------
537 There is now a small "About" screen which shows some more or less useful
538 information about Dev-Editor and the system.
539
540 Improvements for user interface:
541 --------------------------------
542 Made a lot of improvements for the user interface:
543 - The directory listing is now built using tables.
544 - When editing a file and the user wants to save a file using a different file
545 name, the checkbox for saving the file using a different file name is
546 activated using JavaScript.
547 - In directory listing or when viewing a file, there is a new field for quickly
548 jumping to a file or to a directory.
549 - Separated "Work with directory" and "Work with file" into different options
550 in directory listing ("Copy", "Rename", "Delete", "Unlock"). The options also
551 have their own dialogues.
552 - In directory listing, there is a new link for viewing a file or a directory
553 in the browser.
554 - When viewing a file and if the file is editable, there is a new link to edit
555 this file.
556 - Files and directories in directory listing are now sorted case-insensitively.
557
558 Configuration files:
559 --------------------
560 The settings of Dev-Editor are now stored in extern configuration files: There
561 is one file for general settings, one for the error messages and one for the
562 paths to the template files.
563
564 Templates:
565 ----------
566 The output of Dev-Editor is now controlled by template files. The source code
567 became much cleaner :-)
568
569 New in version 1.2 (2003-12-29)
570 -------------------------------
571
572 Removing directories:
573 ---------------------
574 Dev-Editor is now able to completely remove a directory.
575
576 "Work with directories":
577 ------------------------
578 In directory listing, next do a directory, there is a new link called "Work
579 with directory". When you select this link, you get a form to remove or
580 rename/move the directory.
581 Additionally, the link "Do other stuff" was renamed to "Work with file".
582
583 Overwriting existing files:
584 ---------------------------
585 If you want to copy a file, and the destination file already exists, you will
586 be asked to overwrite the file. If the destination points to a directory,
587 copying will be aborted completely.
588 If you want to rename a file or a directory, and the destination file already
589 exists, you will be asked to overwrite the file. If the destination points to a
590 directory, renaming will be aborted completely.
591
592 Confirmation for removing files:
593 --------------------------------
594 If you want to remove a file, a confirmation dialog will be displayed first.
595
596 Fixed open() calls:
597 -------------------
598 It seems that some systems don't support the FILEHANDLE,MODE,FILENAME version
599 of open(). Now we don't use it any more.
600
601 Default permissions for mkdir():
602 --------------------------------
603 Set the permissions for mkdir() to 0777. I thought it is optional (as described
604 in "perlfunc"), but some systems need it.
605
606 New in version 1.1 (2003-11-15)
607 -------------------------------
608
609 Newlines are converted:
610 -----------------------
611 Any line seperator will now be converted to the system specific line seperator
612 if you save a text file.
613
614 File permissions are checked:
615 -----------------------------
616 Dev-Editor now runs some simple checks on the file permissions when it creates
617 a directory listing, tries to view or edit a file and when it copies a file.
618
619 Tool tips for file status:
620 --------------------------
621 In directory listing, when a file cannot be viewed or edited, a tool tip on the
622 "View" or "Edit" link will show the reason why it is so.
623
624 File permissions are saved:
625 ---------------------------
626 When the user saves a text file, the file permissions were destroyed. The
627 reason was that a temporary file was used, which was renamed to the originally
628 file. Now this is fixed, but if saving of the file now fails, the file could be
629 damaged...
630
631 Links in error messages:
632 ------------------------
633 Some error messages now contain a link to go back to the directory containing
634 the file which caused the error.
635
636 Typos fixed:
637 ------------
638 There were a lot of typos in the output, the comments and the ReadMe file.
639
640 Dates fixed:
641 ------------
642 The dates of the last modification in the head comment of the files had the
643 wrong format. They had the format MM-DD-YYYY, but they should have YYYY-MM-DD.
644 Sorry, that was VERY embarassing...
645
646 New in version 1.0 (2003-10-08)
647 -------------------------------
648
649 First public release:
650 ---------------------
651 This is the first public release of Dev-Editor.
652
653 ------------------------------------------------
654
655 (C) 1999-2000 Roland Bluethgen, Frank Schoenmann
656 (C) 2003-2011 Patrick Canterino
657
658 E-Mail: patrick@patshaping.de
659 WWW: http://devedit.sourceforge.net/

patrick-canterino.de