- * Revisions :
- * $Log: cgiedit.c,v $
- * Revision 1.18 2002/03/16 14:57:44 jongfoster
- * Full support for enabling/disabling modular filters.
- *
- * Revision 1.17 2002/03/16 14:26:42 jongfoster
- * First version of modular filters support - READ ONLY!
- * Fixing a double-free bug in the out-of-memory handling in map_radio().
- *
- * Revision 1.16 2002/03/07 03:46:17 oes
- * Fixed compiler warnings
- *
- * Revision 1.15 2002/03/06 22:54:35 jongfoster
- * Automated function-comment nitpicking.
- *
- * Revision 1.14 2002/03/05 00:24:51 jongfoster
- * Patch to always edit the current actions file.
- *
- * Revision 1.13 2002/03/04 02:07:59 david__schmidt
- * Enable web editing of actions file on OS/2 (it had been broken all this time!)
- *
- * Revision 1.12 2002/03/03 09:18:03 joergs
- * Made jumbjuster work on AmigaOS again.
- *
- * Revision 1.11 2002/01/23 01:03:31 jongfoster
- * Fixing gcc [CygWin] compiler warnings
- *
- * Revision 1.10 2002/01/23 00:22:59 jongfoster
- * Adding new function cgi_edit_actions_section_swap(), to reorder
- * the actions file.
- *
- * Adding get_url_spec_param() to get a validated URL pattern.
- *
- * Moving edit_read_line() out of this file and into loaders.c.
- *
- * Adding missing html_encode() to many CGI functions.
- *
- * Moving the functions that #include actionlist.h to the end of the file,
- * because the Visual C++ 97 debugger gets extremely confused if you try
- * to debug any code that comes after them in the file.
- *
- * Major optimizations in cgi_edit_actions_list() to reduce the size of
- * the generated HTML (down 40% from 550k to 304k), with major side-effects
- * throughout the editor and templates. In particular, the length of the
- * URLs throughout the editor has been drastically reduced, by cutting
- * paramater names down to 1 character and CGI names down to 3-4
- * characters, by removing all non-essential CGI paramaters even at the
- * expense of having to re-read the actions file for the most trivial
- * page, and by using relative rather than absolute URLs. This means
- * that this (typical example):
- *
- * <a href="http://ijbswa.sourceforge.net/config/edit-actions-url-form?
- * filename=ijb&ver=1011487572&section=12&pattern=13
- * &oldval=www.oesterhelt.org%2Fdeanimate-demo">
- *
- * is now this:
- *
- * <a href="eau?f=ijb&v=1011487572&p=13">
- *
- * Revision 1.9 2002/01/17 20:56:22 jongfoster
- * Replacing hard references to the URL of the config interface
- * with #defines from project.h
- *
- * Revision 1.8 2001/11/30 23:35:51 jongfoster
- * Renaming actionsfile to ijb.action
- *
- * Revision 1.7 2001/11/13 00:28:24 jongfoster
- * - Renaming parameters from edit-actions-for-url so that they only
- * contain legal JavaScript characters. If we wanted to write
- * JavaScript that worked with Netscape 4, this is nessacery.
- * (Note that at the moment the JavaScript doesn't actually work
- * with Netscape 4, but now this is purely a template issue, not
- * one affecting code).
- * - Adding new CGIs for use by non-JavaScript browsers:
- * edit-actions-url-form
- * edit-actions-add-url-form
- * edit-actions-remove-url-form
- * - Fixing || bug.
- *
- * Revision 1.6 2001/10/29 03:48:09 david__schmidt
- * OS/2 native needed a snprintf() routine. Added one to miscutil, brackedted
- * by and __OS2__ ifdef.
- *
- * Revision 1.5 2001/10/25 03:40:48 david__schmidt
- * Change in porting tactics: OS/2's EMX porting layer doesn't allow multiple
- * threads to call select() simultaneously. So, it's time to do a real, live,
- * native OS/2 port. See defines for __EMX__ (the porting layer) vs. __OS2__
- * (native). Both versions will work, but using __OS2__ offers multi-threading.
- *
- * Revision 1.4 2001/10/23 21:48:19 jongfoster
- * Cleaning up error handling in CGI functions - they now send back
- * a HTML error page and should never cause a FATAL error. (Fixes one
- * potential source of "denial of service" attacks).
- *
- * CGI actions file editor that works and is actually useful.
- *
- * Ability to toggle JunkBuster remotely using a CGI call.
- *
- * You can turn off both the above features in the main configuration
- * file, e.g. if you are running a multi-user proxy.
- *
- * Revision 1.3 2001/10/14 22:12:49 jongfoster
- * New version of CGI-based actionsfile editor.
- * Major changes, including:
- * - Completely new file parser and file output routines
- * - edit-actions CGI renamed edit-actions-for-url
- * - All CGIs now need a filename parameter, except for...
- * - New CGI edit-actions which doesn't need a filename,
- * to allow you to start the editor up.
- * - edit-actions-submit now works, and now automatically
- * redirects you back to the main edit-actions-list handler.
- *
- * Revision 1.2 2001/09/16 17:05:14 jongfoster
- * Removing unused #include showarg.h
- *
- * Revision 1.1 2001/09/16 15:47:37 jongfoster
- * First version of CGI-based edit interface. This is very much a
- * work-in-progress, and you can't actually use it to edit anything
- * yet. You must #define FEATURE_CGI_EDIT_ACTIONS for these changes
- * to have any effect.
- *
- *