| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
artifacts are removed, as is the C files which we will no longer need.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Under FreeBSD, at least, sys/types.h should be included before grp.h.
Otherwise, the following (apparently harmless) warning is generated:
In file included from common.h:28,
from ./cgi-wrapper.c:22:
/usr/include/grp.h:58: warning: parameter names (without types) in function declaration
Make life easier for FreeBSD'ers.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of numeric ids. Initial idea and patch by Todd Vierling, fleshed out
by Barry.
Specific changes here:
We need to include grp.h
check_caller()'s second argument now is a const char* instead of a
GID_T, since it takes a group name not an id.
GID_MISMATCH -> GROUP_MISMATCH
Added exit code 8 for GROUP_NAME_NOT_FOUND which can happen if the
symbolic group name isn't installed on the system.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
work well with our own vsnprintf().
|
| |
|
|
|
|
|
|
| |
outside of the default libs.
Ran autoconf (from autoconf-2.13) to update configure.
src/common.[ch] now has #ifdefs around syslog-using code -- thus,
Mailman will compile, but _without any syslog calls_ if configure
couldn't find syslog().
|
| |
|
|
|
|
|
|
| |
use in the exit() call. Useful for debugging.
Added #defines for use with fatal().
Function declarations should be extern'd.
|
| |
|
|
|
|
|
| |
The extern declaration of logident belongs in common.h, not common.c.
[ Besides, I needed a pretty safe thing to patch for testing that I
can actually do CVS checkins properly. Hopefully this turns out
right... ]
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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".
|
| | |
|
| |
|
|
| |
matches. Fix the prototype, remove macros from C files.
|
|
|
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.
|