summaryrefslogtreecommitdiff
path: root/IkiWiki/Wrapper.pm
AgeCommit message (Collapse)Author
2010-03-28use __TINYC__ define to avoid tinyc compat fixes breaking FreeBSDJoey Hess
To review, tcc does not really use environ, so you have to use clearenv there. But POSIX, in their wisdom, didn't standardise clearenv yet, so on FreeBSD, one still needs to manipulate environ on their own. (If you use tcc on FreeBSD, this may leave you unsatisfied.)
2010-03-18Allow wrappers to be built using tcc.Joey Hess
2010-03-18C warning cleanupJoey Hess
2009-10-21avoid -O default for CFLAGS, and documentJoey Hess
2009-10-21Pick up user specified CFLAGS when compiling the wrapper.Giulio Eulisse
(cherry picked from commit 13e9383b48857daa206387f3486eb00e3b171a68)
2009-09-10Merge commit 'schmonz/master' into cvsJoey Hess
2009-09-10Merge branch 'master' into cvsJoey Hess
2009-09-10clean up use of IkiWiki::ReceiveJoey Hess
Loading and use of IkiWiki::Receive can all be pushed into the git plugin, rather than scattered around. I had at first wanted to make a receive plugin and move it there, but a plugin was not a good fit; you don't want users to have to manually load it, and making the git plugin load the receive plugin at the right times would need more, and ugly code.
2009-09-10Catch up to the new genwrapper hook.Amitai Schlair
2009-09-10Merge branch 'master' of git://github.com/joeyh/ikiwikiAmitai Schlair
2009-09-10Add genwrapper hook, that can be used to add code into the C wrapper.Joey Hess
2009-09-09Abstract out CVS's involvement in the wrapper:Amitai Schlair
* In Wrapper.pm, add a new hook "wrapperargcheck" to examine argc/argv and return success or failure. In the failure case, the wrapper terminates. * In cvs.pm, implement the new hook to return failure if a directory is being cvs added.
2009-08-30Only examine argv if the VCS is cvs.Amitai Schlair
2009-08-30The string to match might not be "New directory" exactly, so match thatAmitai Schlair
substring instead.
2009-08-23Instead of passing the args through the wrapper so the CVS pluginAmitai Schlair
can evaluate them, check them in the wrapper right off the bat. This doesn't prevent the deadlock in web commits that need to cvs add directories, but I'm committing so Joey can take a look if he wants.
2009-08-22Pass along wrapper args to ikiwiki, then handle the "cvs add dir"Amitai Schlair
case with a getopt hook directly in my plugin. If the wrapper change is safe, we won't need a wrapper wrapper.
2009-02-09Create any missing directory necessary to put the wrapper file into. Closes: ↵Joey Hess
#514384
2009-02-04doubled semicolonJoey Hess
2009-01-31IkiWiki::Wrapper: allow REDIRECT_STATUS and REDIRECT_URL through from ↵Simon McVittie
environment This is useful to act as an Apache 404 ErrorDocument.
2008-12-17Coding style change: Remove explcit vim folding markers.Joey Hess
2008-11-11make unlockwiki drop the cgilockJoey Hess
This is necessary so that things that fork to the background, like pinger, and inline ping, don't block other cgis from running. Note that websetup also calls unlockwiki, before refreshing / rebuilding the wiki. It makes perfect sense for that not to block other cgis.
2008-11-11O_CREATE needs modeJoey Hess
2008-11-11avoid multiple ikiwiki cgi processes piling up, eating all memory, and thrashingJoey Hess
Fixed by making the cgi wrapper wait on a cgilock. If you had to set apache's MaxClients low to avoid ikiwiki thrashing your server, you can now turn it up to a high value. The downside to this is that a cgi call that doesn't need to call lockwiki will be serialised by this so only one can run at a time. (For example, do=search.) There are few such calls, and all of them call loadindex, so each still eats gobs of memory, so serialising them still seems ok.
2008-10-26do no-op post_commit test in wrapperJoey Hess
This speeds up web commits by 1/4th of a second or so, since perl does not have to start up for the post commit hook. perl's locking is completly FuBar, since it's impossible to tell what perl flock() really does, and thus difficult to write code in other languages that interoperates with perl's locking. (Let alone interoperating with existing fcntl locking from perl...) In this particular case, I think I was able to find a way to avoid the insanity, mostly. The C code does a true flock(2), and if perl is using an incompatable lock method that does not use the same locking primative at the kernel level, then the C code's test will fail, and it will go ahead and run the perl code. Then the perl code's test will test the right thing. On Debian, at least lately, perl's flock() does a true flock(2), so the optimisation does work.
2008-10-26move untrusted committer test into the wrapperJoey Hess
This saves around 1/4th second per trusted commit since ikiwiki doesn't need to start up.
2008-10-24remember how to write C codeJoey Hess
been a while!
2008-10-24export CALLER_UIDJoey Hess
2008-10-13Pass HTTPS variable through the wrapper so that CGI->https can be used by ↵Joey Hess
plugins. Closes: #502047
2008-07-21Avoid troublesome abs_path calls in wrapper setupJoey Hess
As documented in the forum post.
2008-07-11fix use orderingJoey Hess
The recent setup revamp exposed some latent bugs in use/package ordering that caused some symbols to not the exported into the correct scope.
2008-07-11whitespaceJoey Hess
2008-01-29* Removed support for sending commit notification mails. Along with it wentJoey Hess
the svnrepo and notify settings, though both will be ignored if left in setup files.
2008-01-07* Add a prereq on Data::Dumper 2.11 or better, needed to dump q// objects.Joey Hess
2008-01-01* Split error messages for failures to drop real uid and gid.Joey Hess
* Retry dropping uid and gid, possibly this will help with the "Resource temporarily unavailable" failures I've experienced under xen.
2007-11-25* Let CC be used to control what compiler is used to build wrappers.Joey Hess
* Use 'cc' instead of gcc as the default compiler.
2007-11-14* Add wrappergroup config option, which can be used to cause wrappersJoey Hess
to be created owned by some group other than the default. Useful then there's a shared repository with access controlled by a group, to let ikiwiki run setgid to that group. * ikiwiki-mass-rebuild: Run build with the user in all their groups.
2007-07-09 get confused. So it's best for ikiwiki to follow the compatabilityjoey
* Support building on systems that lack asprintf. * mercurial getctime is currently broken, apparently by some change in mercurial version 0.9.4. Turn the failing test case into a TODO test case.
2007-06-03* Fix wrapper generator and untaint code's handling of strings continingjoey
newlines.
2007-01-14fix formatjoey
2007-01-11remove \n from gettexed string, and unfuzzyjoey
2007-01-04added some comments for translatorsjoey
2006-12-29* Initial work on internationalization of the program code. po/ikiwiki.potjoey
is available for translation. * Export gettext() from IkiWiki module.
2006-10-02* Patch from Alec Berryman adding a http_auth config item that allowsjoey
using HTTP Authentication instead of ikiwiki's built in authentication. Useful for eg, large sites with their own previously existing user auth setup. Closes: #384534
2006-09-16* Numerous tla fixes from Clint.joey
2006-09-04man page says I need thisjoey
2006-09-04* Drop real uid/gid in the suid wrapper, thus allowing commits to remotejoey
subversion repos and fixing some other issues.
2006-05-26* The page name and parent links has switched from using a <h1> to a styledjoey
<span>, so pages can use <h1> internally instead of needing to use <h2>. * Updated all of ikiwiki's own wiki pages for that. * Add pagetemplate hook, which can be used by plugins that want to mess around with adding new stuff to the page template. * Remove headercontent; the search plugin now adds the search box to the header by registering a pagetemplate hook, and other plugins should do similarly.
2006-05-04fix a bug that doubled the search boxjoey
2006-05-03rather a lot of changes to make hyperestraier search be a plugin, allowingjoey
for other types of search engine plugins if wanted, and also opening up a lot of new possibilities for other kinds of plugins later some notable changes along the way: - lots of new hook types: cgi, render, delete - wrapper files fixed to support config strings with newlines in them - HEADERCONTENT in page template useful for plugins. Probably needs to be expanded to more such for other places plugins might want to add content. - remove unnecessary wrappers field from config info stored in wrappers
2006-05-02* Patch from Thomas Schwinge to switch from --svn to --rcs=svn, etc,joey
to pave the way for adding other RCS support. This also changes the setup files, where before they had svn => 1 or svn => 0, now they have rcs => "svn" or rcs => "". * Add a debian/NEWS file with upgrade notes. * Load whatever rcs module is specified, so new ones can be just dropped in as plugins and work. * Add some basic docs about writing RCS modules.