summaryrefslogtreecommitdiff
path: root/src/cgi-wrapper.c
Commit message (Collapse)AuthorAgeFilesLines
* Somewhat kludgy changes to make debugging mismatching CGI gid's easierbwarsaw1999-01-071-0/+1
| | | | | | | | | | | | | | | | | | | | to figure out. common.c now sports a global variable running_as_cgi which, when true causes fatal() to output some mildly more helpful HTML in addition to the syslog entry. Since this usually only occurs when the site admin is installing Mailman, this helpful HTML should give a better clue as to what's going wrong, rather than an unhelpful Web server message and syslog entry alone. Naturally, main() in cgi-wrapper.c sets running_as_cgi to 1; it is initialized to 0 so as to not upset mail-wrapper.c. Finally, because I think this is a kludge, I've wrapped this all in an #ifdef HELPFUL, and set Makefile.in to turn this on by default. My thought is that for some future version, if the site admin specifies --with-cgi-gid to configure, that proves they're somewhat clueful, and we'd default the HELPFUL macro to "off".
* Minor formatting changesbwarsaw1998-08-051-0/+1
|
* Change to the way the `real' (i.e Python) CGI program gets invoked.bwarsaw1998-06-191-2/+13
| | | | | | | | | | Now the wrapper simply calls the Python written scripts/driver program and passes the module name as argv[1]. Eliminates the (unchecked in) need for symbolic links. This file still gets compiled into a number of different executables, each named after the module that gets imported. This could be changed to use symlinks later.
* check_caller(): Removed test for UID. We now only check for GIDbwarsaw1998-06-011-4/+4
| | | | matches. Fix the prototype, remove macros from C files.
* Several important changes.bwarsaw1998-05-261-93/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. For mail-wrapper.c and cgi-wrapper.c, most common routines have been moved to common.c. While there were some differences in the way these two wrappers worked (most notably in the error handling and reporting when UID's and GID's didn't match), they were easily merged. Fatal errors now always syslog and exit(1). 2. The exec*() call for running the new process has been changed and made consistent. For improved security, the absolute path to the Python interpreter (as discovered by configure) is compiled into these programs, and the environment variable PYTHONPATH is set to include only the absolute path the the installed Mailman package ($prefix/Mailman). Scripts are invoked by exec'ing the Python interpreter with the first argument being the absolute path to the script to run, along with any additional arguments on argc/argv. See the function run_script() in common.c for details. 3. alias-wrapper.c has not yet been fully merged. I gathered from Ken that it doesn't work completely well anyway. 4. check_caller() in common.c still checks the gid, but as we discussed before, this may be redundant. I wanted one check-in with a history of this feature first though. 5. Added an Emacs turd at the end of all files so that the C code will be edited using Python's standard C style. Reformatted existing code. 6. Removed pseudo-log history from comments at top of files.
* Fixed a typo in the zipcode.viega1998-05-261-1/+1
|
* Added copyright notices to all source files where I am legally entitled to ↵viega1998-05-251-3/+23
| | | | | | | do so. Added a copy of the GNU GPL. Added information about mailman-users in README, and reworded some text in there (made the credits less verbose... perhaps they should move to a credits file?)
* Some inconsequential formatting changes.bwarsaw1998-05-011-43/+58
| | | | | | | | | | - Use "Python" C editing style when used with X/Emacs - Make X/Emacs friendly by putting function opening braces in column zero and putting function name on separate line from return type - Use C style comments instead of C++ style comments. Not all C compilers grok line comments.
* Misuse of %s in format string for LEGAL_PARENT_[UG]ID was causingklm1998-04-281-3/+3
| | | | | | | segmentation fault when bad id was detected. Declare main as an int routine so gcc doesn't complain, even though it doesn't return an int.
* John consolidated the cgi wrappers into a single source file.mailman1998-04-031-0/+75