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

patrick-canterino.de