| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
| |
formatting user supplied input. Also added newlines to both stderr
and syslog output for more consistent formatting. Reported by Stan
Bubrouski.
|
| |
|
|
|
|
| |
wrapper), simply print the log_entry information to stderr. Most MTAs
will include this in their bounce message, which will be helpful for
debugging.
|
| | |
|
| | |
|
| |
|
|
| |
print the gid values.
|
| |
|
|
|
| |
speeds up invocation of the executable considerably by eliminating
tons of stats and other computation.
|
| |
|
|
|
|
|
| |
work well with our own vsnprintf().
When the system doesn't have vsnprintf() -- as determined by autoconf
-- provide a definition for the one our own vsnprintf.c
|
| |
|
|
| |
work well with our own vsnprintf().
|
| | |
|
| |
|
|
|
|
|
|
|
| |
file. Known operating systems missing vsnprintf(): Solaris 2.5
This code is GPL'd but not copyright the FSF. RMS says its okay to
use, but should be kept in a separate file permanently. I can only
test that it compiles correctly, but cannot test its proper operation
on systems that are missing vsnprintf().
|
| |
|
|
| |
vulnerability (PR#72)
|
| |
|
|
| |
experiment with the addaliases stuff).
|
| |
|
|
|
| |
anything, to disallow bin/newlist creating lists with bogus admin
addresses.
|
| |
|
|
|
|
|
| |
standard libraries.
This fix has been verified to work on SCO OpenServer 5, which was the
OS for which this change was originally needed. The previous attempt
at a fix, stolen from GNU sh-utils, proved insufficient.
|
| |
|
|
|
|
|
|
| |
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().
|
| |
|
|
|
| |
indices were used. Found by Alexander (Leo) Bergolth
<leo@strike.wu-wien.ac.at>
|
| | |
|
| |
|
|
|
|
| |
removed. We don't limit MTAs to sendmail anyway.
main(): Use the proper exitcode when calling fatal().
|
| |
|
|
|
|
| |
permission/security sense so this is unnecessary. Also, if
run_script() returns, use its return value as the exitcode for
fatal().
|
| |
|
|
|
|
|
|
|
|
| |
use in the exit() call. Useful for debugging.
check_caller(): Use GID_MISMATCH as fatal exit code.
run_script(): If setregid() returns !0, use SETREGID_FAILURE as fatal
exit code. Also, it is always an error for execve() to return.
Return EXECVE_FAILURE from this function.
|
| |
|
|
|
|
|
|
| |
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... ]
|
| |
|
|
| |
wrappers
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
run_script(): Use setregid() copy the effective gid into the real
gid. This works around a problem on some Linux versions where the
effective gid was not being inherited across popen() calls. Should
not affect other systems.
Note: this is wrapped in a HAVE_SETREGID determined by configure. If
the same affected machines don't have this call (unlikely?) then they
can still be broken.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
propagate version string changes to the public (you have to
autoreconf, then reconfigure and reinstall).
Now, VERSION is set directory in Defaults.py.in and the Release.py
script updates that file directly. Now we just need to run
./config.status and do a re-install. I hope this will make things
easier.
I'm also bumping the version to 1.0b8, so I can do a release tomorrow.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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".
|
| |
|
|
| |
versions of make, and aren't really necessary anyway.
|
| |
|
|
|
|
| |
That way, if the admin re-runs configure (or config.status), possibly
changing the CGI or Mail GID's, the wrappers will get automatically
recompiled.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Original patches are from The Dragon de Monsyne with the following changes:
-added support for private archives as well as public
-added support for archiving daily and weekly
-made archiving happen in real time
-replaced use of pipermail's BSDBDatabase with homegrown python version
-took out the need for DocumentTemplate
here's a listing of changed files and relevant changes:
Makefile.in - added public_html/archives to installdirs
Mailman/Archiver.py - changed ArchiveMail to do real time archiving
Mailman/Defaults.py.in - added archive frequency and and archive url
extension variables
Mailman/MailList.py - changed .Save() to alter perms on public vs. private
archives
Mailman/htmlformat.py - changes directly from The Dragon do Monsyne's patches.
I don't know what they are exactly, but all the cgi's
seem to work fine, so I assume they are OK.
Mailman/versions.py - changes to add archiving based variables back to the list
Mailman/Cgi/private - changed to make it work with default installation and
made background white on login page
src/Makefile.in - changes to make all wrappers setuid mailman:
since various processes may access an archive, and the
archiving mechanism uses "chmod", all archives must be owned
by mailman, so all wrappers need to be owned by and setuid mailman
added files:
Mailman/HyperArch.py - from The Dragon de Monsyne with changes made noted above
Mailman/HyperDatabase.py - the replacement for pipermail.BSDBDatabase
scott
|
| |
|
|
| |
value from autoconf
|
| | |
|
| | |
|
| |
|
|
| |
wrapper scripts. Apparently the Roxen server requires this.
|
| | |
|
| |
|
|
| |
only the package path will be used from now on.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
| |
Slight reformatting. Moved to top of file.
|
| |
|
|
|
|
|
|
| |
NEED_STRERROR.
I looked at configure.in, I think I could add the right stuff.
However, I'd need to download autoconf and read the docs to generate
the configure script, so I think I'll just leave this one to Barry for
the time being, if he doesn't mind :)
|
| |
|
|
| |
matches. Fix the prototype, remove macros from C files.
|
| |
|
|
| |
common.o should also depend on common.h
|
| |
|
|
|
|
| |
them more explicit. Both myself and my test user got confused the
first time, and tried to reconfigure with the GID it was already
configured with.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
configure script from the new Makefile.in file.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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?)
|