part II of rewriting

git-svn-id: svn://ttmath.org/publicrep/winix/trunk@635 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
Tomasz Sowa 2010-08-12 19:10:12 +00:00
parent c3fac2e83f
commit 9a199cd834
38 changed files with 1159 additions and 1167 deletions

View File

@ -1,12 +1,11 @@
# DO NOT DELETE
acceptbaseparser.o: acceptbaseparser.h
app.o: app.h config.h confparser.h system.h dirs.h item.h dircontainer.h db.h
app.o: user.h group.h thread.h error.h log.h ugcontainer.h ticket.h request.h
app.o: requesttypes.h session.h plugindata.h rebus.h compress.h
app.o: acceptencodingparser.h acceptbaseparser.h htmlfilter.h
app.o: postmultiparser.h mounts.h mount.h users.h lastcontainer.h groups.h
app.o: loadavg.h sessionmanager.h sessioncontainer.h notify.h
app.o: app.h config.h confparser.h htmlfilter.h system.h dirs.h item.h
app.o: dircontainer.h db.h user.h group.h thread.h error.h log.h
app.o: ugcontainer.h ticket.h request.h requesttypes.h session.h plugindata.h
app.o: rebus.h mounts.h mount.h users.h lastcontainer.h groups.h loadavg.h
app.o: sessionmanager.h sessioncontainer.h notify.h
app.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
app.o: ../core/mount.h ../core/locale.h ../core/config.h ../templates/misc.h
app.o: ../templates/localefilter.h ../core/locale.h ../functions/functions.h
@ -28,18 +27,18 @@ app.o: ../functions/uptime.h ../functions/who.h ../templates/templates.h
app.o: ../templates/patterncacher.h ../core/item.h misc.h
app.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
app.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h
app.o: plugin.h pluginmsg.h
app.o: compress.h getparser.h httpsimpleparser.h postparser.h cookieparser.h
app.o: postmultiparser.h acceptencodingparser.h acceptbaseparser.h plugin.h
app.o: pluginmsg.h
bbcodeparser.o: bbcodeparser.h htmlfilter.h
compress.o: compress.h log.h
config.o: config.h confparser.h log.h plugin.h pluginmsg.h plugindata.h
config.o: request.h requesttypes.h session.h item.h error.h user.h rebus.h
config.o: compress.h acceptencodingparser.h acceptbaseparser.h htmlfilter.h
config.o: postmultiparser.h system.h dirs.h dircontainer.h db.h group.h
config.o: thread.h ugcontainer.h ticket.h mounts.h mount.h users.h
config.o: lastcontainer.h groups.h loadavg.h sessionmanager.h
config.o: sessioncontainer.h ../functions/functions.h
config.o: ../functions/functionbase.h ../core/item.h ../core/db.h
config.o: ../core/request.h ../core/config.h ../core/system.h
config.o: config.h confparser.h htmlfilter.h log.h plugin.h pluginmsg.h
config.o: plugindata.h request.h requesttypes.h session.h item.h error.h
config.o: user.h rebus.h system.h dirs.h dircontainer.h db.h group.h thread.h
config.o: ugcontainer.h ticket.h mounts.h mount.h users.h lastcontainer.h
config.o: groups.h loadavg.h sessionmanager.h sessioncontainer.h
config.o: ../functions/functions.h ../functions/functionbase.h ../core/item.h
config.o: ../core/db.h ../core/request.h ../core/config.h ../core/system.h
config.o: ../core/notify.h ../../ezc/src/ezc.h ../functions/functionparser.h
config.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
config.o: ../functions/privchanger.h ../functions/chown.h
@ -67,9 +66,7 @@ db_itemcolumns.o: dircontainer.h ugcontainer.h ticket.h
dircontainer.o: dircontainer.h item.h log.h
dirs.o: dirs.h item.h dircontainer.h db.h user.h group.h thread.h error.h
dirs.o: log.h ugcontainer.h ticket.h request.h requesttypes.h session.h
dirs.o: plugindata.h rebus.h compress.h acceptencodingparser.h
dirs.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h
dirs.o: confparser.h
dirs.o: plugindata.h rebus.h config.h confparser.h htmlfilter.h
groups.o: groups.h group.h ugcontainer.h log.h db.h item.h user.h thread.h
groups.o: error.h dircontainer.h ticket.h
htmlfilter.o: htmlfilter.h
@ -83,30 +80,25 @@ mount.o: mount.h
mountparser.o: mountparser.h mount.h item.h error.h log.h dirs.h
mountparser.o: dircontainer.h db.h user.h group.h thread.h ugcontainer.h
mountparser.o: ticket.h request.h requesttypes.h session.h plugindata.h
mountparser.o: rebus.h compress.h acceptencodingparser.h acceptbaseparser.h
mountparser.o: htmlfilter.h postmultiparser.h config.h confparser.h misc.h
mountparser.o: rebus.h config.h confparser.h htmlfilter.h misc.h
mounts.o: mounts.h mount.h error.h log.h dirs.h item.h dircontainer.h db.h
mounts.o: user.h group.h thread.h ugcontainer.h ticket.h request.h
mounts.o: requesttypes.h session.h plugindata.h rebus.h compress.h
mounts.o: acceptencodingparser.h acceptbaseparser.h htmlfilter.h
mounts.o: postmultiparser.h config.h confparser.h mountparser.h
mounts.o: requesttypes.h session.h plugindata.h rebus.h config.h confparser.h
mounts.o: htmlfilter.h mountparser.h
notify.o: log.h notify.h ../templatesnotify/templatesnotify.h
notify.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h confparser.h
notify.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h
notify.o: ../core/locale.h request.h requesttypes.h session.h item.h error.h
notify.o: user.h plugindata.h rebus.h compress.h acceptencodingparser.h
notify.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h system.h
notify.o: dirs.h dircontainer.h db.h group.h thread.h ugcontainer.h ticket.h
notify.o: user.h plugindata.h rebus.h config.h htmlfilter.h system.h dirs.h
notify.o: dircontainer.h db.h group.h thread.h ugcontainer.h ticket.h
notify.o: mounts.h mount.h users.h lastcontainer.h groups.h loadavg.h misc.h
plugin.o: plugin.h pluginmsg.h log.h plugindata.h config.h confparser.h
plugin.o: request.h requesttypes.h session.h item.h error.h user.h rebus.h
plugin.o: compress.h acceptencodingparser.h acceptbaseparser.h htmlfilter.h
plugin.o: postmultiparser.h system.h dirs.h dircontainer.h db.h group.h
plugin.o: thread.h ugcontainer.h ticket.h mounts.h mount.h users.h
plugin.o: lastcontainer.h groups.h loadavg.h sessionmanager.h
plugin.o: sessioncontainer.h ../functions/functions.h
plugin.o: ../functions/functionbase.h ../core/item.h ../core/db.h
plugin.o: ../core/request.h ../core/config.h ../core/system.h
plugin.o: htmlfilter.h request.h requesttypes.h session.h item.h error.h
plugin.o: user.h rebus.h system.h dirs.h dircontainer.h db.h group.h thread.h
plugin.o: ugcontainer.h ticket.h mounts.h mount.h users.h lastcontainer.h
plugin.o: groups.h loadavg.h sessionmanager.h sessioncontainer.h
plugin.o: ../functions/functions.h ../functions/functionbase.h ../core/item.h
plugin.o: ../core/db.h ../core/request.h ../core/config.h ../core/system.h
plugin.o: ../core/notify.h ../../ezc/src/ezc.h ../functions/functionparser.h
plugin.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
plugin.o: ../functions/privchanger.h ../functions/chown.h
@ -127,11 +119,10 @@ plugin.o: ../core/log.h ../templates/indexpatterns.h
plugin.o: ../templates/localefilter.h ../core/locale.h ../core/locale.h
plugin.o: ../core/sessionmanager.h
plugindata.o: plugindata.h plugin.h pluginmsg.h log.h config.h confparser.h
plugindata.o: request.h requesttypes.h session.h item.h error.h user.h
plugindata.o: rebus.h compress.h acceptencodingparser.h acceptbaseparser.h
plugindata.o: htmlfilter.h postmultiparser.h system.h dirs.h dircontainer.h
plugindata.o: db.h group.h thread.h ugcontainer.h ticket.h mounts.h mount.h
plugindata.o: users.h lastcontainer.h groups.h loadavg.h sessionmanager.h
plugindata.o: htmlfilter.h request.h requesttypes.h session.h item.h error.h
plugindata.o: user.h rebus.h system.h dirs.h dircontainer.h db.h group.h
plugindata.o: thread.h ugcontainer.h ticket.h mounts.h mount.h users.h
plugindata.o: lastcontainer.h groups.h loadavg.h sessionmanager.h
plugindata.o: sessioncontainer.h ../functions/functions.h
plugindata.o: ../functions/functionbase.h ../core/item.h ../core/db.h
plugindata.o: ../core/request.h ../core/config.h ../core/system.h
@ -157,25 +148,20 @@ plugindata.o: ../core/httpsimpleparser.h ../core/log.h
plugindata.o: ../templates/indexpatterns.h ../templates/localefilter.h
plugindata.o: ../core/locale.h ../core/locale.h ../core/sessionmanager.h
postmultiparser.o: postmultiparser.h error.h log.h requesttypes.h config.h
postmultiparser.o: confparser.h
postmultiparser.o: confparser.h htmlfilter.h
rebus.o: log.h rebus.h misc.h item.h request.h requesttypes.h session.h
rebus.o: error.h user.h plugindata.h compress.h acceptencodingparser.h
rebus.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h
rebus.o: confparser.h
rebus.o: error.h user.h plugindata.h config.h confparser.h htmlfilter.h
request.o: request.h requesttypes.h session.h item.h error.h log.h user.h
request.o: plugindata.h rebus.h compress.h acceptencodingparser.h
request.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h
request.o: confparser.h getparser.h httpsimpleparser.h postparser.h
request.o: cookieparser.h plugin.h pluginmsg.h system.h dirs.h dircontainer.h
request.o: db.h group.h thread.h ugcontainer.h ticket.h mounts.h mount.h
request.o: users.h lastcontainer.h groups.h loadavg.h sessionmanager.h
request.o: sessioncontainer.h ../functions/functions.h
request.o: ../functions/functionbase.h ../core/item.h ../core/db.h
request.o: ../core/request.h ../core/config.h ../core/system.h
request.o: ../core/notify.h ../../ezc/src/ezc.h ../functions/functionparser.h
request.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
request.o: ../functions/privchanger.h ../functions/chown.h
request.o: ../functions/ckeditor.h ../functions/cp.h
request.o: plugindata.h rebus.h config.h confparser.h htmlfilter.h plugin.h
request.o: pluginmsg.h system.h dirs.h dircontainer.h db.h group.h thread.h
request.o: ugcontainer.h ticket.h mounts.h mount.h users.h lastcontainer.h
request.o: groups.h loadavg.h sessionmanager.h sessioncontainer.h
request.o: ../functions/functions.h ../functions/functionbase.h
request.o: ../core/item.h ../core/db.h ../core/request.h ../core/config.h
request.o: ../core/system.h ../core/notify.h ../../ezc/src/ezc.h
request.o: ../functions/functionparser.h ../functions/adduser.h
request.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
request.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
request.o: ../functions/createthread.h ../functions/createticket.h
request.o: ../functions/default.h ../functions/download.h
request.o: ../functions/editticket.h ../functions/emacs.h ../functions/last.h
@ -190,35 +176,33 @@ request.o: ../templates/patterncacher.h ../core/item.h misc.h
request.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
request.o: ../core/log.h ../templates/indexpatterns.h
request.o: ../templates/localefilter.h ../core/locale.h ../core/locale.h
request.o: ../core/sessionmanager.h ../functions/functionbase.h
request.o: ../core/sessionmanager.h
session.o: session.h item.h error.h log.h user.h plugindata.h rebus.h
sessioncontainer.o: sessioncontainer.h session.h item.h error.h log.h user.h
sessioncontainer.o: plugindata.h rebus.h lastcontainer.h
sessionmanager.o: sessionmanager.h sessioncontainer.h session.h item.h
sessionmanager.o: error.h log.h user.h plugindata.h rebus.h lastcontainer.h
sessionmanager.o: config.h confparser.h request.h requesttypes.h compress.h
sessionmanager.o: acceptencodingparser.h acceptbaseparser.h htmlfilter.h
sessionmanager.o: postmultiparser.h system.h dirs.h dircontainer.h db.h
sessionmanager.o: group.h thread.h ugcontainer.h ticket.h mounts.h mount.h
sessionmanager.o: users.h groups.h loadavg.h sessionparser.h plugin.h
sessionmanager.o: pluginmsg.h ../functions/functions.h
sessionmanager.o: ../functions/functionbase.h ../core/item.h ../core/db.h
sessionmanager.o: ../core/request.h ../core/config.h ../core/system.h
sessionmanager.o: ../core/notify.h ../../ezc/src/ezc.h
sessionmanager.o: ../functions/functionparser.h ../functions/adduser.h
sessionmanager.o: ../functions/cat.h ../functions/chmod.h
sessionmanager.o: ../functions/privchanger.h ../functions/chown.h
sessionmanager.o: ../functions/ckeditor.h ../functions/cp.h
sessionmanager.o: ../functions/createthread.h ../functions/createticket.h
sessionmanager.o: ../functions/default.h ../functions/download.h
sessionmanager.o: ../functions/editticket.h ../functions/emacs.h
sessionmanager.o: ../functions/last.h ../functions/login.h
sessionmanager.o: ../functions/logout.h ../functions/ls.h
sessionmanager.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
sessionmanager.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
sessionmanager.o: ../functions/run.h ../functions/subject.h
sessionmanager.o: ../functions/funthread.h ../core/thread.h
sessionmanager.o: ../functions/funticket.h ../core/ticket.h
sessionmanager.o: config.h confparser.h htmlfilter.h request.h requesttypes.h
sessionmanager.o: system.h dirs.h dircontainer.h db.h group.h thread.h
sessionmanager.o: ugcontainer.h ticket.h mounts.h mount.h users.h groups.h
sessionmanager.o: loadavg.h sessionparser.h plugin.h pluginmsg.h
sessionmanager.o: ../functions/functions.h ../functions/functionbase.h
sessionmanager.o: ../core/item.h ../core/db.h ../core/request.h
sessionmanager.o: ../core/config.h ../core/system.h ../core/notify.h
sessionmanager.o: ../../ezc/src/ezc.h ../functions/functionparser.h
sessionmanager.o: ../functions/adduser.h ../functions/cat.h
sessionmanager.o: ../functions/chmod.h ../functions/privchanger.h
sessionmanager.o: ../functions/chown.h ../functions/ckeditor.h
sessionmanager.o: ../functions/cp.h ../functions/createthread.h
sessionmanager.o: ../functions/createticket.h ../functions/default.h
sessionmanager.o: ../functions/download.h ../functions/editticket.h
sessionmanager.o: ../functions/emacs.h ../functions/last.h
sessionmanager.o: ../functions/login.h ../functions/logout.h
sessionmanager.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
sessionmanager.o: ../functions/node.h ../functions/priv.h
sessionmanager.o: ../functions/reload.h ../functions/rm.h ../functions/run.h
sessionmanager.o: ../functions/subject.h ../functions/funthread.h
sessionmanager.o: ../core/thread.h ../functions/funticket.h ../core/ticket.h
sessionmanager.o: ../functions/tinymce.h ../functions/uname.h
sessionmanager.o: ../functions/upload.h ../functions/uptime.h
sessionmanager.o: ../functions/who.h ../templates/templates.h
@ -229,39 +213,17 @@ sessionmanager.o: ../templates/localefilter.h ../core/locale.h
sessionmanager.o: ../core/locale.h ../core/sessionmanager.h
sessionparser.o: sessionparser.h session.h item.h error.h log.h user.h
sessionparser.o: plugindata.h rebus.h sessioncontainer.h lastcontainer.h
sessionparser.o: users.h ugcontainer.h request.h requesttypes.h compress.h
sessionparser.o: acceptencodingparser.h acceptbaseparser.h htmlfilter.h
sessionparser.o: postmultiparser.h config.h confparser.h db.h group.h
sessionparser.o: thread.h dircontainer.h ticket.h
sessionparser.o: users.h ugcontainer.h request.h requesttypes.h config.h
sessionparser.o: confparser.h htmlfilter.h db.h group.h thread.h
sessionparser.o: dircontainer.h ticket.h
system.o: system.h dirs.h item.h dircontainer.h db.h user.h group.h thread.h
system.o: error.h log.h ugcontainer.h ticket.h request.h requesttypes.h
system.o: session.h plugindata.h rebus.h compress.h acceptencodingparser.h
system.o: acceptbaseparser.h htmlfilter.h postmultiparser.h config.h
system.o: confparser.h mounts.h mount.h users.h lastcontainer.h groups.h
system.o: loadavg.h misc.h notify.h ../templatesnotify/templatesnotify.h
system.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
system.o: ../core/config.h ../templates/misc.h ../templates/localefilter.h
system.o: ../core/locale.h ../functions/functions.h
system.o: ../functions/functionbase.h ../core/item.h ../core/db.h
system.o: ../core/request.h ../core/system.h ../core/notify.h
system.o: ../functions/functionparser.h ../functions/adduser.h
system.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
system.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
system.o: ../functions/createthread.h ../functions/createticket.h
system.o: ../functions/default.h ../functions/download.h
system.o: ../functions/editticket.h ../functions/emacs.h ../functions/last.h
system.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
system.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
system.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
system.o: ../functions/run.h ../functions/subject.h ../functions/funthread.h
system.o: ../core/thread.h ../functions/funticket.h ../core/ticket.h
system.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
system.o: ../functions/uptime.h ../functions/who.h ../templates/templates.h
system.o: ../templates/patterncacher.h ../core/item.h
system.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
system.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h
system.o: session.h plugindata.h rebus.h config.h confparser.h htmlfilter.h
system.o: mounts.h mount.h users.h lastcontainer.h groups.h loadavg.h misc.h
system.o: notify.h ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
system.o: ../core/mount.h ../core/locale.h ../core/config.h
system.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h
users.o: users.h user.h ugcontainer.h log.h lastcontainer.h request.h
users.o: requesttypes.h session.h item.h error.h plugindata.h rebus.h
users.o: compress.h acceptencodingparser.h acceptbaseparser.h htmlfilter.h
users.o: postmultiparser.h config.h confparser.h db.h group.h thread.h
users.o: config.h confparser.h htmlfilter.h db.h group.h thread.h
users.o: dircontainer.h ticket.h

View File

@ -9,6 +9,10 @@
#include "app.h"
#include "plugin.h"
#include "misc.h"
#include "functions/functions.h"
@ -37,8 +41,6 @@ App::App()
system.SetConfig(&config);
system.SetRequest(&request);
system.SetDb(&db);
system.SetFunctions(&functions); // !! czy model musi cos wiedziec o funkcjach?
system.SetTemplates(&templates);
templates_notify.SetConfig(&config);
@ -59,6 +61,7 @@ App::App()
session_manager.SetRequest(&request);
session_manager.SetSystem(&system);
post_multi_parser.SetConfig(&config);
}
@ -128,13 +131,12 @@ return true;
bool App::Init()
{
request.Init();
if( !CreateFCGISocket() )
return false;
request.Clear();
compress.Init();
system.Init();
functions.Create();
// !! teraz mamy dwa katalogi z templetami
@ -194,10 +196,9 @@ return true;
}
void App::ProcessRequest()
void App::ProcessRequestThrow()
{
request.Clear(); // !! dac na koniec
request.Read();
ReadRequest();
// when BaseUrlRedirect() return true we didn't have to set everything in request.Read()
// in the future request.Read() can be split and at the beginning only environment variables will be read
@ -216,14 +217,30 @@ void App::ProcessRequest()
Make();
}
request.SendAll(); // !! czemu request sam sie chce wyslac? wrzucic to tutaj do app
SendAnswer();
notify.ItemChanged(request.notify_code);
if( request.function )
request.function->Clear();
}
void App::ProcessRequest()
{
try
{
ProcessRequestThrow();
}
catch(const std::exception & e)
{
log << log1 << "App: there was an exception: std::exception: " << e.what() << logend;
}
catch(const Error & e)
{
log << log1 << "App: there was an exception: Error: " << e << logend;
}
catch(...)
{
log << log1 << "App: there was an unknown exception" << logend;
}
}
void App::Start()
@ -231,41 +248,15 @@ void App::Start()
while( FCGX_Accept(&request.in, &request.out, &request.err, &request.env) == 0 )
{
system.load_avg.StartRequest();
log << log2 << "---------------------------------------------------------------------------------" << logend;
log << log2 << config.log_delimiter << logend;
try
{
ProcessRequest();
}
catch(const std::logic_error & e)
{
log << log1 << "std logic exception: " << e.what() << logend;
}
catch(const std::exception & e)
{
log << log1 << "std exception: " << e.what() << logend;
}
catch(const Error & e)
{
log << log1 << "exception: Error: " << e << logend;
}
catch(...)
{
log << log1 << "uncaught unknown exception" << logend;
}
SaveSessionsIfNeeded();
// !! this should be immediately after FCGX_Accept() but signals don't want to break FCGX_Accept
//if( signal_hup )
if( false )
{
log << logsave;
FCGX_Finish();
return;
}
if( request.function )
request.function->Clear();
request.ClearPostFileTmp();
request.Clear();
system.load_avg.StopRequest();
log << logsave;
}
@ -292,6 +283,7 @@ void App::MakePage()
{
bool sent = false;
if( !request.redirect_to.empty() || !request.x_sendfile.empty() )
return;
@ -328,7 +320,7 @@ void App::Make()
return;
}
// request->status can be changed by function_parser
// request.status can be changed by function_parser
if( request.status == WINIX_ERR_OK )
{
if( system.DirsHaveReadExecPerm() )
@ -361,13 +353,354 @@ void App::Make()
plugin.Call(WINIX_CONTENT_MAKE);
MakePage();
// !! dodac parametr do konfiga wlaczajacy te informacje
//request->PrintGetTab();
//request->PrintEnv();
//request->PrintIn();
if( config.debug_info )
{
// !! dodac inne informacje (get, post, itp)
// jesli jest debug_info wlaczone to nie robic przekierowan
request.PrintGetTab();
request.PrintEnv();
}
}
void App::ReadRequest()
{
ReadEnvVariables();
CheckRequestMethod();
CheckFCGIRole();
LogAccess();
ReadGetPostVars();
cookie_parser.Parse(request.env_http_cookie, request.cookie_tab);
accept_encoding_parser.Parse(request.env_http_accept_encoding);
CheckIE();
CheckKonqueror();
if( request.role == Request::authorizer )
log << log3 << "Request: fast cgi role: authorizer" << logend;
}
void App::SetEnv(const char * & env, const char * name)
{
const char * v = FCGX_GetParam(name, request.env);
if( v )
env = v;
// by default env is set to an empty string (in request.Clear() method)
}
void App::ReadEnvVariables()
{
// we store that values because FCGX_GetParam has O(n) complexity
// with this variables (env_*) we have O(1)
SetEnv(request.env_request_method, "REQUEST_METHOD");
SetEnv(request.env_request_uri, "REQUEST_URI");
SetEnv(request.env_http_cookie, "HTTP_COOKIE");
SetEnv(request.env_remote_addr, "REMOTE_ADDR");
SetEnv(request.env_http_host, "HTTP_HOST");
SetEnv(request.env_http_user_agent, "HTTP_USER_AGENT");
SetEnv(request.env_fcgi_role, "FCGI_ROLE");
SetEnv(request.env_content_type, "CONTENT_TYPE");
SetEnv(request.env_http_accept_encoding,"HTTP_ACCEPT_ENCODING");
}
void App::CheckRequestMethod()
{
request.method = Request::none;
if( ToSmall(request.env_request_method[0]) == 'g' )
request.method = Request::get;
else
if( ToSmall(request.env_request_method[0]) == 'p' )
request.method = Request::post;
else
if( ToSmall(request.env_request_method[0]) == 'h' )
request.method = Request::head;
}
void App::CheckFCGIRole()
{
// default we assume 'responder'
request.role = Request::responder;
if( ToSmall(request.env_fcgi_role[0]) == 'a' )
request.role = Request::authorizer;
}
void App::LogAccess()
{
log.PutDate(log1);
log << request.env_remote_addr << ' '
<< request.env_request_method << ' '
<< request.env_http_host
<< request.env_request_uri << ' '
<< request.env_http_user_agent << logend;
}
void App::ReadGetPostVars()
{
// get parameters we have always
get_parser.Parse(request.env_request_uri, request.get_tab);
if( request.method == Request::post )
{
if( IsSubStringNoCase("multipart/form-data", request.env_content_type) )
{
log << log3 << "Request: post content type: multipart/form-data" << logend;
post_multi_parser.Parse(request.in, request.post_tab, request.post_file_tab);
}
else
{
post_parser.Parse(request.in, request.post_tab);
}
}
}
void App::CheckIE()
{
char * msie = strstr(request.env_http_user_agent, "MSIE");
if( msie )
request.browser_msie = true;
else
request.browser_msie = false;
}
void App::CheckKonqueror()
{
char * kon = strstr(request.env_http_user_agent, "Konqueror");
if( kon )
request.browser_konqueror = true;
else
request.browser_konqueror = false;
}
void App::PrepareSessionCookie()
{
if( !request.session || request.session->id==0 )
return;
if( !request.session->puser || !request.session->remember_me )
{
request.SetCookie(config.http_session_id_name.c_str(), request.session->id);
}
else
{
time_t t = time(0) + config.session_remember_max_idle;
tm * expires = localtime(&t);
if( !expires )
{
// oops, something wrong
request.SetCookie(config.http_session_id_name.c_str(), request.session->id);
return;
}
request.SetCookie(config.http_session_id_name.c_str(), request.session->id, expires);
}
}
void App::SendHeaders(bool compressing, Header header)
{
PrepareSessionCookie();
if( request.send_as_attachment )
FCGX_PutS("Content-Disposition: attachment\r\n", request.out);
if( !request.redirect_to.empty() )
{
FCGX_PutS("Status: 301 Moved Permanently\r\n", request.out);
FCGX_FPrintF(request.out, "Location: %s\r\n", request.redirect_to.c_str());
log << log2 << "Redirect to: " << request.redirect_to << logend;
}
else
if( !request.x_sendfile.empty() )
{
FCGX_FPrintF(request.out, "%s: %s\r\n", config.http_header_send_file.c_str(),
request.x_sendfile.c_str());
FCGX_PutS("Status: 200 OK\r\n", request.out);
log << log2 << "Sending file: " << request.x_sendfile << logend;
}
else
{
switch( header )
{
case h_404:
FCGX_PutS("Status: 404 Not Found\r\n", request.out);
FCGX_PutS("Content-Type: text/html\r\n", request.out);
log << log2 << "Request: response: 404 Not Found" << logend;
break;
case h_403:
FCGX_PutS("Status: 403 Forbidden\r\n", request.out);
FCGX_PutS("Content-Type: text/html\r\n", request.out);
log << log2 << "Request: response: 403 Forbidden" << logend;
break;
default:
FCGX_PutS("Status: 200 OK\r\n", request.out);
if( request.role != Request::authorizer )
FCGX_PutS("Content-Type: text/html\r\n", request.out);
}
}
if( compressing )
FCGX_PutS("Content-Encoding: deflate\r\n", request.out);
FCGX_PutS(request.headers.str().c_str(), request.out);
FCGX_PutS("\r\n", request.out);
}
void App::SetHtmlFilterConf()
{
html_filter.TrimWhite(config.html_filter_trim_white);
html_filter.BreakLines(config.html_filter_break_lines);
html_filter.InsertTabs(config.html_filter_tabs);
if( config.html_filter_orphans )
html_filter.CheckOrphans(config.html_filter_orphans_lang, config.html_filter_orphans_mode);
}
// !! kopiowanie tych stringow bedzie zmienione
// gdy bedziemy korzystac w przyszlosci z wlasnego stringstream
void App::FilterCompressSend(bool compressing, const std::string & source_ref)
{
const std::string * source = &source_ref;
bool raw = request.is_item && request.item.content_type == Item::ct_raw && request.status == WINIX_ERR_OK &&
request.function && (request.function->fun.url == "cat" || request.function->fun.url == "run");
if( config.html_filter && !raw )
{
SetHtmlFilterConf();
html_filter.Filter(*source, clean_html);
AddDebugInfo(clean_html);
source = &clean_html;
}
else
{
html_with_debug = *source;
AddDebugInfo(html_with_debug);
source = &html_with_debug;
}
if( compressing )
compress.CompressAndPut(source->c_str(), source->length(), request.out);
else
FCGX_PutS(source->c_str(), request.out);
}
bool App::IsCompressionAllowed(const std::string & source)
{
return( config.compression &&
request.role == Request::responder &&
request.redirect_to.empty() &&
request.x_sendfile.empty() &&
!request.browser_msie &&
!request.browser_konqueror &&
accept_encoding_parser.AcceptDeflate() &&
source.size() >= (size_t)config.compression_page_min_size );
}
bool App::CanSendContent(Header header)
{
if( !request.redirect_to.empty() || !request.x_sendfile.empty() )
// if there is a redirect or a file to send then we do not send a content
return false;
if( header == h_200 && request.role == Request::authorizer && request.is_item && request.item.auth != Item::auth_none )
// if there is an item and the item has 'file' storage we do not send a content
return false;
/*
we don't have to check the HEAD method
the server (lighttpd) doesn't send the body of its own
*/
if( request.method == Request::head )
return false;
return true;
}
void App::AddDebugInfo(std::string & out)
{
if( config.debug_info )
{
const std::string & d = request.debug.str();
if( !d.empty() )
{
out += "\n<!--\n";
out += d;
out += "\n-->\n";
}
}
}
void App::SendAnswer()
{
const std::string & source = request.page.str();
Header header = h_200;
bool compressing = IsCompressionAllowed(source);
Error status = request.status;
if( status == WINIX_ERR_NO_ITEM || status == WINIX_ERR_NO_FUNCTION || status == WINIX_ERR_UNKNOWN_PARAM )
header = h_404;
if( status == WINIX_ERR_PERMISSION_DENIED || status == WINIX_ERR_CANT_CHANGE_USER || status == WINIX_ERR_CANT_CHANGE_GROUP )
header = h_403;
SendHeaders(compressing, header);
if( CanSendContent(header) )
{
// filtering (html), compressing (deflate) and sending back to the web browser
FilterCompressSend(compressing, source);
}
}

View File

@ -29,6 +29,14 @@
#include "functions/functions.h"
#include "templates/templates.h"
#include "templatesnotify/templatesnotify.h"
#include "compress.h"
#include "htmlfilter.h"
#include "getparser.h"
#include "postparser.h"
#include "cookieparser.h"
#include "postmultiparser.h"
#include "acceptencodingparser.h"
@ -71,13 +79,15 @@ public:
System system;
// false at the beginning
// !! moze to do loggera dac?
bool stdout_is_closed;
/*
controller
controllers
(note that the whole app object is actually a controller too)
*/
// functions (ls, cat, emacs, ...)
@ -93,13 +103,53 @@ public:
private:
enum Header
{
h_200,
h_404,
h_403
};
GetParser get_parser;
PostParser post_parser;
PostMultiParser post_multi_parser;
CookieParser cookie_parser;
AcceptEncodingParser accept_encoding_parser;
Compress compress;
HTMLFilter html_filter;
std::string clean_html, html_with_debug;
bool CreateFCGISocket();
void ProcessRequestThrow();
void ProcessRequest();
bool BaseUrlRedirect();
void DeleteAllPluginsData();
void MakePage();
void Make();
void SaveSessionsIfNeeded(); // !! wywalic do managara sesji??
void LogAccess();
void ReadRequest();
void SendAnswer();
void SetEnv(const char * & env, const char * name);
void ReadEnvVariables();
void ReadGetPostVars();
void CheckIE();
void CheckKonqueror();
void CheckRequestMethod();
void CheckFCGIRole();
void SetHtmlFilterConf();
void PrepareSessionCookie();
void AddDebugInfo(std::string & out);
void FilterCompressSend(bool compressing, const std::string & source_ref);
void SendHeaders(bool compressing, Header header);
bool IsCompressionAllowed(const std::string & source);
bool CanSendContent(Header header);
// !! dodac do session managera?
time_t last_sessions_save;

View File

@ -91,6 +91,7 @@ void Config::AssignValues(bool stdout_is_closed)
{
log_file = Text("log_file");
log_notify_file = Text("log_notify_file");
log_delimiter = Text("log_delimiter", "---------------------------------------------------------------------------------");
fcgi_socket = Text("fcgi_socket");
fcgi_socket_chmod = Int("fcgi_socket_chmod", 0770);
fcgi_socket_user = Text("fcgi_socket_user");
@ -132,7 +133,15 @@ void Config::AssignValues(bool stdout_is_closed)
session_file = Text("session_file");
compression = Bool("compression", true);
compression_page_min_size = Int("compression_page_min_size", 512);
html_filter = Bool("html_filter", true);
html_filter_trim_white = Bool("html_filter_trim_white", true);
html_filter_break_lines = Int("html_filter_break_lines", 60);
html_filter_tabs = Size("html_filter_tabs", 2);
html_filter_orphans = Bool("html_filter_orphans", false);
html_filter_orphans_lang_str = Text("html_filter_orphans_lang", "pl");
html_filter_orphans_mode_str = Text("html_filter_orphans_mode_str", "nbsp");
locale_str = Text("locale", "en");
locale_dir = Text("locale_dir");
@ -140,6 +149,10 @@ void Config::AssignValues(bool stdout_is_closed)
title_separator = Text("title_separator", " / ");
http_header_send_file = Text("http_header_send_file", "X-LIGHTTPD-send-file");
password_min_size = Size("password_min_size", 5);
debug_info = Bool("debug_info", false);
parser.ListText("plugins", plugin_file);
}
@ -148,6 +161,22 @@ void Config::SetAdditionalVariables()
{
SetHttpHost(base_url, base_url_http_host);
SetHttpHost(base_url_auth, base_url_auth_http_host);
if( html_filter_orphans_lang_str == "pl" )
html_filter_orphans_lang = HTMLFilter::lang_pl;
else
if( html_filter_orphans_lang_str == "cz" )
html_filter_orphans_lang = HTMLFilter::lang_cz;
else
if( html_filter_orphans_lang_str == "sk" )
html_filter_orphans_lang = HTMLFilter::lang_sk;
else
html_filter_orphans_lang = HTMLFilter::lang_none;
if( html_filter_orphans_mode_str == "160" )
html_filter_orphans_mode = HTMLFilter::orphan_160space;
else
html_filter_orphans_mode = HTMLFilter::orphan_nbsp;
}
@ -201,6 +230,24 @@ int Config::Int(const std::string & name, int def)
}
size_t Config::Size(const char * name)
{
return parser.Size(name);
}
size_t Config::Size(const char * name, size_t def)
{
return parser.Size(name, def);
}
size_t Config::Size(const std::string & name, size_t def)
{
return parser.Size(name, def);
}
bool Config::Bool(const char * name)
{
return parser.Bool(name);

View File

@ -12,6 +12,7 @@
#include <string>
#include "confparser.h"
#include "htmlfilter.h"
@ -38,6 +39,9 @@ public:
// default: 1
int log_request;
// request delimiter in the log file, default "---------"
std::string log_delimiter;
// fast cgi: socket (unix domain)
std::string fcgi_socket;
@ -81,12 +85,44 @@ public:
// allow the html ouput to be compressed
bool compression;
// if the output is shorter than this value then it will not be compressed
int compression_page_min_size;
// plugins
std::vector<std::string> plugin_file;
// the html code is cleaned by our filter
// should the html code be cleaned by the html filter
bool html_filter;
// should white characters be trimmed
bool html_filter_trim_white;
// when long lines (lines without a white character) should be break (inserted a space)
// default: after 60 non white characters will be put a space
// set zero to turn off
int html_filter_break_lines;
// how many spaces will be put at one tree level
// default: 2
size_t html_filter_tabs;
// use checking for 'orphans' for a specicic language
// default: false
bool html_filter_orphans;
// language for html orphans
// default: pl
// can be either: "pl" or "cz" or "sk"
std::string html_filter_orphans_lang_str;
HTMLFilter::Lang html_filter_orphans_lang;
// orphans mode
// either: "nbsp" or "160"
// default: "nbsp"
std::string html_filter_orphans_mode_str;
HTMLFilter::OrphanMode html_filter_orphans_mode;
// the url of a new empty item (if there is not the subject too)
std::string item_url_empty;
@ -129,6 +165,21 @@ public:
// separator used in <title> html tag
std::string title_separator;
// http header recognized by www server as a file to send back
// default: X-LIGHTTPD-send-file
std::string http_header_send_file;
// the minimum size of a password for new users (function: adduser)
// default: 5
size_t password_min_size;
// prints additional information (in the end of the html page as a commentary)
//
bool debug_info;
/*
*/
// based on base_url
// set by SetAdditionalVariables()
@ -146,6 +197,9 @@ public:
int Int(const char *);
int Int(const char * name, int def);
int Int(const std::string & name, int def);
size_t Size(const char *);
size_t Size(const char * name, size_t def);
size_t Size(const std::string & name, size_t def);
bool Bool(const char *);
bool Bool(const char * name, bool def);
bool Bool(const std::string & name, bool def);

View File

@ -7,6 +7,7 @@
*
*/
#include <cstdlib>
#include "confparser.h"
#include "misc.h"
@ -27,6 +28,7 @@ ConfParser::ConfParser()
default_str = "";
default_int = 0;
default_size = 0;
default_bool = false;
}
@ -454,6 +456,48 @@ return ToInt(i->second);
}
size_t ConfParser::Size(const char * name)
{
return Size(std::string(name), default_size);
}
size_t ConfParser::Size(const char * name, size_t def)
{
return Size(std::string(name), def);
}
size_t ConfParser::ToSize(const std::string & value)
{
long res = (value[0] == '0')? strtoul(value.c_str() + 1, 0, 8) : strtoul(value.c_str(), 0, 10);
return (size_t)res;
}
size_t ConfParser::Size(const std::string & name, size_t def)
{
TableSingle::iterator i = table_single.find(name);
if( i == table_single.end() )
{
Table::iterator t = table.find(name);
if( t == table.end() || t->second.empty() )
return def;
return ToSize(t->second[0]);
}
return ToSize(i->second);
}
bool ConfParser::Bool(const char * name)
{
return Bool(std::string(name), default_bool);
@ -503,6 +547,11 @@ void ConfParser::SetDefaultInt(int def)
default_int = def;
}
void ConfParser::SetDefaultSize(size_t def)
{
default_size = def;
}
void ConfParser::SetDefaultBool(bool def)
{
default_bool = def;

View File

@ -215,6 +215,9 @@ public:
int Int(const char *);
int Int(const char * name, int def);
int Int(const std::string & name, int def);
size_t Size(const char *);
size_t Size(const char * name, size_t def);
size_t Size(const std::string & name, size_t def);
bool Bool(const char *);
bool Bool(const char * name, bool def);
bool Bool(const std::string & name, bool def);
@ -226,11 +229,12 @@ public:
if you don't set it directly then:
default text is: "" (empty)
default int is: 0
default int or size is: 0
default bool is: false
*/
void SetDefaultText(const std::string & def);
void SetDefaultInt(int def);
void SetDefaultSize(size_t def);
void SetDefaultBool(bool def);
@ -324,9 +328,11 @@ private:
std::string default_str;
int default_int;
size_t default_size;
bool default_bool;
int ToInt(const std::string & value);
size_t ToSize(const std::string & value);
bool ToBool(const std::string & value);
Status ParseFile();

View File

@ -21,7 +21,7 @@ class CookieParser : public HttpSimpleParser
{
const char * cookie_string;
CookieTab & cookie_tab;
CookieTab * cookie_tab;
protected:
@ -41,7 +41,7 @@ protected:
// Cookie names are case insensitive according to section 3.1 of RFC 2965
ToLower(name);
std::pair<CookieTab::iterator, bool> res = cookie_tab.insert( std::make_pair(name, value) );
std::pair<CookieTab::iterator, bool> res = cookie_tab->insert( std::make_pair(name, value) );
log << log2 << "Cookie, name: \"" << name << "\", value: \"" << value << "\"";
@ -58,7 +58,7 @@ protected:
public:
CookieParser(const char * cookie_string_, CookieTab & cookie_tab_) : cookie_string(cookie_string_), cookie_tab(cookie_tab_)
CookieParser()
{
HttpSimpleParser::separator = ';';
HttpSimpleParser::value_can_be_quoted = true;
@ -66,6 +66,16 @@ public:
HttpSimpleParser::recognize_special_chars = false;
}
// cookie_string can be null
void Parse(const char * cookie_string_, CookieTab & cookie_tab_)
{
cookie_string = cookie_string_;
cookie_tab = &cookie_tab_;
HttpSimpleParser::Parse();
}
};

View File

@ -215,7 +215,7 @@ void Db::ClearResult(PGresult * r)
}
bool Db::CheckUser(std::string & login, std::string & password, long & user_id)
bool Db::CheckUser(const std::string & login, const std::string & password, long & user_id)
{
PGresult * r = 0;
bool user_ok = false;

View File

@ -43,7 +43,7 @@ public:
// !! GetFile i GetDir beda uzywac GetItem
void Init(const std::string & database, const std::string & user, const std::string & pass);
bool CheckUser(std::string & login, std::string & password, long & user_id);
bool CheckUser(const std::string & login, const std::string & password, long & user_id);
Error AddUser(User & user, const std::string & password);
Error AddItem(Item & item);

View File

@ -18,7 +18,7 @@ class GetParser : public HttpSimpleParser
{
const char * get_string;
GetTab & get_tab;
GetTab * get_tab;
protected:
@ -33,8 +33,7 @@ protected:
virtual void Parameter(std::string &, std::string & value)
{
get_tab.push_back(value);
get_tab->push_back(value);
log << log2 << "Get, value: \"" << value << "\"" << logend;
}
@ -42,15 +41,29 @@ protected:
public:
GetParser(const char * get_string_, GetTab & get_tab_) : get_string(get_string_), get_tab(get_tab_)
GetParser()
{
HttpSimpleParser::separator = '/';
HttpSimpleParser::read_name = false;
}
if( get_string && *get_string == separator ) // one '/' at the beginning
// get_string_ can be null
void Parse(const char * get_string_, GetTab & get_tab_)
{
get_string = get_string_;
get_tab = &get_tab_;
if( get_string && *get_string == separator )
{
// skipping one '/' at the beginning
++get_string;
}
HttpSimpleParser::Parse();
}
};

View File

@ -46,7 +46,7 @@ protected:
void TrimWhiteChars(std::string & s);
void CheckSpecialChar();
void Parse();
public:
@ -61,12 +61,6 @@ public:
recognize_special_chars = true;
}
void Parse();
};

View File

@ -15,7 +15,6 @@
// PluginInfo.p1 is a pointer to Ezc::Functions object
#define WINIX_TEMPLATES_CREATEFUNCTIONS 999
#define WINIX_REQUEST_CLEAR 1000
#define WINIX_CONTENT_MAKE 2000

View File

@ -22,7 +22,7 @@ class PostParser : public HttpSimpleParser
{
FCGX_Stream * in;
PostTab & post_tab;
PostTab * post_tab;
protected:
@ -35,7 +35,7 @@ protected:
virtual void Parameter(std::string & name, std::string & value)
{
std::pair<PostTab::iterator, bool> res = post_tab.insert( std::make_pair(name, value) );
std::pair<PostTab::iterator, bool> res = post_tab->insert( std::make_pair(name, value) );
log << log2 << "Method POST, name: \"" << name << "\", value: \"" << value << "\"";
@ -48,8 +48,12 @@ protected:
public:
PostParser(FCGX_Stream * in_, PostTab & post_tab_) : in(in_), post_tab(post_tab_)
void Parse(FCGX_Stream * in_, PostTab & post_tab_)
{
in = in_;
post_tab = &post_tab_;
HttpSimpleParser::Parse();
}
};

View File

@ -145,9 +145,7 @@ bool Rebus::CheckRebus()
return false;
}
std::string * answer = request->PostVar("rebus");
if( answer && IsAnswerOk(request->session->rebus_item, *answer) )
if( IsAnswerOk(request->session->rebus_item, request->PostVar("rebus")) )
return true;
log << log1 << "Rebus: rebus has an incorrect answer" << logend;

View File

@ -7,18 +7,12 @@
*
*/
#include <ctime>
#include <sys/stat.h>
#include <unistd.h>
#include "request.h"
#include "getparser.h"
#include "postparser.h"
#include "cookieparser.h"
#include "log.h"
#include "plugin.h"
#include "misc.h"
#include "db.h"
#include "functions/functionbase.h"
@ -27,7 +21,6 @@
Request::Request() : char_empty(0)
{
id = 0;
Clear();
}
@ -37,10 +30,6 @@ void Request::SetConfig(Config * pconfig)
}
void Request::Init()
{
compress.Init();
}
void Request::ClearPostFileTmp()
@ -67,6 +56,8 @@ void Request::Clear()
if( ++id == 0 )
++id;
ClearPostFileTmp();
get_tab.clear();
post_tab.clear();
post_file_tab.clear();
@ -78,7 +69,6 @@ void Request::Clear()
headers.str("");
page.str("");
debug.str("");
//notify.str("");
env_request_method = &char_empty;
env_request_uri = &char_empty;
@ -86,9 +76,9 @@ void Request::Clear()
env_remote_addr = &char_empty;
env_http_host = &char_empty;
env_http_user_agent = &char_empty;
env_http_accept_encoding = &char_empty;
env_fcgi_role = &char_empty;
env_content_type = &char_empty;
env_http_accept_encoding = &char_empty;
session = 0;
@ -107,8 +97,6 @@ void Request::Clear()
redirect_to.clear();
x_sendfile.clear();
send_as_attachment = false;
plugin.Call(WINIX_REQUEST_CLEAR);
}
@ -158,14 +146,14 @@ return true;
std::string * Request::PostVar(const char * var)
const std::string & Request::PostVar(const char * var)
{
PostTab::iterator p = post_tab.find(var);
if( p == post_tab.end() )
return 0;
return str_empty;
return &(p->second);
return p->second;
}
@ -187,11 +175,6 @@ return true;
//
void Request::PrintGetTab()
{
debug << "get_tab: " << get_tab.size() << "\n";
@ -217,106 +200,6 @@ char ** e;
void Request::PrintIn()
{
char buf[100];
int buf_len = sizeof(buf) / sizeof(char);
int len;
debug << "fcgi input:\n";
do
{
len = FCGX_GetStr(buf, buf_len - 1, in);
if( len != 0 )
{
buf[len] = 0;
debug << buf;
}
}
while( len == buf_len - 1 );
debug << std::endl;
}
const char * Request::SetEnvVar(const char * var)
{
const char * v = FCGX_GetParam(var, env);
if( v )
return v;
// char_empty contains '\0'
return &char_empty;
}
void Request::ReadEnvVariables()
{
// we store that values because FCGX_GetParam has O(n) complexity
// with this variables (env_*) we have O(1)
env_request_method = SetEnvVar("REQUEST_METHOD");
env_request_uri = SetEnvVar("REQUEST_URI");
env_http_cookie = SetEnvVar("HTTP_COOKIE");
env_remote_addr = SetEnvVar("REMOTE_ADDR");
env_http_host = SetEnvVar("HTTP_HOST");
env_http_user_agent = SetEnvVar("HTTP_USER_AGENT");
env_http_accept_encoding = SetEnvVar("HTTP_ACCEPT_ENCODING");
env_fcgi_role = SetEnvVar("FCGI_ROLE");
env_content_type = SetEnvVar("CONTENT_TYPE");
}
void Request::CheckIE()
{
char * msie = strstr(env_http_user_agent, "MSIE");
if( msie )
browser_msie = true;
else
browser_msie = false;
}
void Request::CheckKonqueror()
{
char * kon = strstr(env_http_user_agent, "Konqueror");
if( kon )
browser_konqueror = true;
else
browser_konqueror = false;
}
void Request::CheckMethod()
{
method = none;
if( ToSmall(env_request_method[0]) == 'g' )
method = get;
else
if( ToSmall(env_request_method[0]) == 'p' )
method = post;
// default we assume 'responder'
role = responder;
if( ToSmall(env_fcgi_role[0]) == 'a' )
role = authorizer;
}
bool Request::AllPostVarEmpty()
{
PostTab::iterator i;
@ -330,216 +213,6 @@ return true;
// !! czy te parsery powinny byc skladowymi Request?
void Request::ReadParameters()
{
// !! wrzucic jako skladowa klasy
GetParser get_parser(env_request_uri, get_tab);
get_parser.Parse();
if( method == post )
{
if( IsSubStringNoCase("multipart/form-data", env_content_type) )
{
log << log3 << "Request: post content type: multipart/form-data" << logend;
post_multi_parser.SetConfig(config);
post_multi_parser.Parse(in, post_tab, post_file_tab);
}
else
{
// !! wrzucic jako skladowa klasy
PostParser post_parser(in, post_tab);
post_parser.Parse();
}
}
CookieParser cookie_parser(env_http_cookie, cookie_tab);
cookie_parser.Parse();
accept_encoding_parser.Parse(env_http_accept_encoding);
}
void Request::StandardLog()
{
log.PutDate(log1);
log << env_remote_addr << ' ' << env_request_method << ' ';
log << env_http_host << env_request_uri << ' ' << env_http_user_agent << logend;
}
// reading everything
void Request::Read()
{
ReadEnvVariables();
CheckMethod();
StandardLog();
ReadParameters();
CheckIE();
if( role == authorizer )
log << log3 << "Request: fast cgi role: authorizer" << logend;
CheckKonqueror();
}
void Request::SendSessionCookie()
{
if( !session || session->id==0 )
return;
if( !session->puser || !session->remember_me )
{
SetCookie(config->http_session_id_name.c_str(), session->id);
return;
}
time_t t = time(0) + config->session_remember_max_idle;
tm * expires = localtime(&t);
if( !expires )
{
// oops, something wrong
SetCookie(config->http_session_id_name.c_str(), session->id);
return;
}
SetCookie(config->http_session_id_name.c_str(), session->id, expires);
}
void Request::SendHeaders(bool compressing, Header header)
{
if( send_as_attachment )
FCGX_PutS("Content-Disposition: attachment\r\n", out);
if( !redirect_to.empty() )
{
FCGX_PutS("Status: 301 Moved Permanently\r\n", out);
FCGX_FPrintF(out, "Location: %s\r\n", redirect_to.c_str());
log << log2 << "Redirect to: " << redirect_to << logend;
}
else
if( !x_sendfile.empty() )
{
FCGX_FPrintF(out, "X-LIGHTTPD-send-file: %s\r\n", x_sendfile.c_str());
FCGX_PutS("Status: 200 OK\r\n", out);
log << log2 << "Sending file: " << x_sendfile << logend;
}
else
{
switch(header)
{
case h_404:
FCGX_PutS("Status: 404 Not Found\r\n", out);
FCGX_PutS("Content-Type: text/html\r\n", out);
log << log2 << "Request: response: 404 Not Found" << logend;
break;
case h_403:
FCGX_PutS("Status: 403 Forbidden\r\n", out);
FCGX_PutS("Content-Type: text/html\r\n", out);
log << log2 << "Request: response: 403 Forbidden" << logend;
break;
default:
FCGX_PutS("Status: 200 OK\r\n", out);
if( role != authorizer )
FCGX_PutS("Content-Type: text/html\r\n", out);
}
}
if( compressing )
FCGX_PutS("Content-Encoding: deflate\r\n", out);
FCGX_PutS(headers.str().c_str(), out);
FCGX_PutS("\r\n", out);
}
void Request::AddDebugInfo()
{
const std::string & d = debug.str();
if( !d.empty() )
{
page << "\n<!--\n";
page << d;
page << "\n-->\n";
}
}
// !! to powinno isc do kontrolera app
void Request::SendPage(bool compressing, const std::string & source_ref)
{
const std::string * source = &source_ref;
bool raw = is_item && item.content_type == Item::ct_raw && status == WINIX_ERR_OK &&
function && (function->fun.url == "cat" || function->fun.url == "run");
if( config->html_filter && !raw )
{
html_filter.TrimWhite(true);
html_filter.BreakLines(60);
html_filter.InsertTabs(2);
html_filter.CheckOrphans(HTMLFilter::lang_pl, HTMLFilter::orphan_160space);
html_filter.Filter(*source, clean_html);
source = &clean_html;
}
if( compressing )
compress.CompressAndPut(source->c_str(), source->length(), out);
else
FCGX_PutS(source->c_str(), out);
}
void Request::SendAll()
{
const std::string & source = page.str();
Header header = h_200;
bool compressing = config->compression && role == responder && redirect_to.empty() && x_sendfile.empty() &&
!browser_msie && !browser_konqueror &&
accept_encoding_parser.AcceptDeflate() && source.size() >= 512;
if( status == WINIX_ERR_NO_ITEM || status == WINIX_ERR_NO_FUNCTION || status == WINIX_ERR_UNKNOWN_PARAM )
header = h_404;
if( status == WINIX_ERR_PERMISSION_DENIED || status == WINIX_ERR_CANT_CHANGE_USER || status == WINIX_ERR_CANT_CHANGE_GROUP )
header = h_403;
SendSessionCookie();
SendHeaders(compressing, header);
if( !redirect_to.empty() || !x_sendfile.empty() )
// if there is a redirect or a file to send then we do not send a content
return;
if( header == h_200 && role == authorizer && is_item && item.auth != Item::auth_none )
// if there is an item and the item has 'file' storage we do not send a content
return;
// adding debug info if exists
AddDebugInfo();
// sending content
SendPage(compressing, source);
}
bool Request::IsParam(const char * param_name)
{
ParamTab::iterator i;

View File

@ -13,16 +13,10 @@
#include <fcgiapp.h>
#include <sstream>
#include <vector>
#include <iomanip>
#include "requesttypes.h"
#include "session.h"
#include "item.h"
#include "error.h"
#include "compress.h"
#include "acceptencodingparser.h"
#include "htmlfilter.h"
#include "postmultiparser.h"
#include "config.h"
@ -30,6 +24,8 @@
class FunctionBase;
struct Request
{
// request id
@ -42,8 +38,8 @@ struct Request
FCGX_Stream * in, * out, * err;
FCGX_ParamArray env; // defined as 'char **'
enum Method { get, post, none } method;
// !! moze pozbyc sie tego none?
enum Method { get, post, head, none } method;
enum Role { responder, authorizer } role;
// headers, page and debug
@ -86,7 +82,7 @@ struct Request
// current file (if exists)
Item item;
// winix function
// current winix function
// null if there is no a function
FunctionBase * function;
@ -111,16 +107,17 @@ struct Request
// send as attachment (causing header: content-disposition: attachment)
bool send_as_attachment;
Request();
void SetConfig(Config * pconfig);
void Clear();
// for debugging
void PrintGetTab();
void PrintEnv();
void PrintIn();
Request();
void ClearPostFileTmp();
void Clear();
void Init();
bool IsParam(const char * param_name);
const std::string & ParamValue(const char * param_name); // returns empty string if there is no such a parameter
@ -129,61 +126,25 @@ struct Request
void SetCookie(const char * name, long value, tm * expires = 0);
bool IsPostVar(const char * var);
std::string * PostVar(const char * var); // it can return null when there is no such a post variable
const std::string & PostVar(const char * var);
bool PostVar(const char * var, std::string & result);
bool AllPostVarEmpty(); // returning true if all post vars are empty
void ReadEnvVariables();
void CheckMethod();
void ReadParameters();
void Read();
void SendAll();
//void SendNotify();
void SetConfig(Config * pconfig);
private:
Config * config;
enum Header
{
h_200,
h_404,
h_403
};
void ClearPostFileTmp();
void SendSessionCookie();
void CheckIE();
void CheckKonqueror();
void SendHeaders(bool compressing, Header header);
void AddDebugInfo();
void SendPage(bool compressing, const std::string & source_ref);
// used to set some env_* variables into it, when the server didn't set that variable
// it contains '\0'
// contains '\0'
// used to set env_* pointers to the empty value
const char char_empty;
// used in ParamValue(const char * param_name) when there is no such a param
// used in ParamValue() and PostVar() when there is no such a param
const std::string str_empty;
PostMultiParser post_multi_parser;
const char * SetEnvVar(const char * var);
void StandardLog();
Compress compress;
AcceptEncodingParser accept_encoding_parser;
HTMLFilter html_filter;
// html after filtering
std::string clean_html;
};

View File

@ -11,8 +11,7 @@
#include "misc.h"
#include "error.h"
#include "notify.h"
#include "functions/functions.h"
#include "templates/templates.h"
@ -34,16 +33,6 @@ void System::SetDb(Db * pdb)
}
void System::SetFunctions(Functions * pfunctions)
{
functions = pfunctions;
}
void System::SetTemplates(Templates * ptemplates)
{
templates = ptemplates;
}
@ -153,27 +142,6 @@ void System::RedirectToLastItem()
}
void System::PrepareUrl(Item & item)
{
TrimWhite(item.url);
if( item.url.empty() )
item.url = item.subject; // if the subject is empty then the url will be corrected by CorrectUrlOnlyAllowedChar()
CorrectUrlOnlyAllowedChar(item.url);
if( functions->Find(item.url) )
{
// the name provided by an user is the same as a name of a function
// we add one underscore character at the beginning
// names of functions should not begin with an underscore '_'
// and we can simply add one '_' at the beginning
// and the name will be unique
item.url.insert(item.url.begin(), '_');
}
}
bool System::CanChangeUser(const Item & item, long new_user_id)
{
@ -553,9 +521,7 @@ Error System::EditFile(Item & item, bool with_url)
if( status == WINIX_ERR_OK )
{
TemplatesFunctions::pattern_cacher.UpdatePattern(item);
log << log2 << "System: modified an item" << logend;
request->notify_code |= WINIX_NOTIFY_ITEM_EDIT;
}
@ -565,27 +531,3 @@ return status;
Error System::CheckSpecialFile(const Item & item)
{
static std::string fstab = "fstab";
Item * etc = dirs.GetEtcDir();
if( !etc )
return WINIX_NOTHING_TO_DO;
if( item.parent_id != etc->id )
return WINIX_NOTHING_TO_DO;
if( item.url == fstab )
{
log << log3 << "System: reloading mount points" << logend;
Error status = mounts.ReadMounts(item.content);
templates->ReadNewIndexTemplates();
return status;
}
return WINIX_NOTHING_TO_DO;
}

View File

@ -22,8 +22,7 @@
#include "loadavg.h"
class Functions;
class Templates;
// file system
@ -56,8 +55,6 @@ public:
void SetRequest(Request * prequest);
void SetConfig(Config * pconfig);
void SetDb(Db * pdb);
void SetFunctions(Functions * pfunctions);
void SetTemplates(Templates * ptemplates);
void Init();
void RedirectTo(const Item & item, const char * postfix = 0);
@ -65,8 +62,6 @@ public:
void RedirectToLastDir();
void RedirectToLastItem(); // redirect to an item if exists or to the last directory
void PrepareUrl(Item & item);
bool CanChangeUser(const Item & item, long new_user_id);
bool CanChangeGroup(const Item & item, long new_group_id);
bool CanChangePrivileges(const Item & item, int new_priv);
@ -91,14 +86,10 @@ public:
Error AddFile(Item & item);
Error EditFile(Item & item, bool with_url = true);
Error CheckSpecialFile(const Item & item);
private:
Request * request;
Config * config;
Db * db;
Functions * functions;
Templates * templates;
std::string path;
bool MakePathSimpleFs(std::string & path, long dir_id, bool create_dir);

View File

@ -5,24 +5,20 @@ adduser.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
adduser.o: ../core/error.h ../core/log.h ../core/dircontainer.h
adduser.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
adduser.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
adduser.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
adduser.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
adduser.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
adduser.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
adduser.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
adduser.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
adduser.o: ../core/notify.h ../templatesnotify/templatesnotify.h
adduser.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
adduser.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h
adduser.o: ../core/system.h
adduser.o: ../core/rebus.h ../core/config.h ../core/confparser.h
adduser.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
adduser.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
adduser.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
adduser.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
adduser.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
adduser.o: ../core/mount.h ../core/locale.h ../templates/misc.h
adduser.o: ../templates/localefilter.h ../core/locale.h ../core/system.h
cat.o: cat.h functionbase.h ../core/item.h ../core/db.h ../core/item.h
cat.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
cat.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
cat.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
cat.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
cat.o: ../core/compress.h ../core/acceptencodingparser.h
cat.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
cat.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
cat.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
cat.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
cat.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
cat.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -35,9 +31,7 @@ chmod.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
chmod.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
chmod.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
chmod.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
chmod.o: ../core/compress.h ../core/acceptencodingparser.h
chmod.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
chmod.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
chmod.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
chmod.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
chmod.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
chmod.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -50,9 +44,7 @@ chown.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
chown.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
chown.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
chown.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
chown.o: ../core/compress.h ../core/acceptencodingparser.h
chown.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
chown.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
chown.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
chown.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
chown.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
chown.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -65,13 +57,11 @@ ckeditor.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
ckeditor.o: ../core/error.h ../core/log.h ../core/dircontainer.h
ckeditor.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
ckeditor.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
ckeditor.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
ckeditor.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
ckeditor.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
ckeditor.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
ckeditor.o: ../core/request.h ../core/mounts.h ../core/mount.h
ckeditor.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h
ckeditor.o: ../core/loadavg.h ../core/notify.h
ckeditor.o: ../core/rebus.h ../core/config.h ../core/confparser.h
ckeditor.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
ckeditor.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
ckeditor.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
ckeditor.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
ckeditor.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
ckeditor.o: ../core/mount.h ../core/locale.h ../templates/misc.h
ckeditor.o: ../templates/localefilter.h ../core/locale.h ../core/system.h
@ -85,26 +75,27 @@ cp.o: cp.h functionbase.h ../core/item.h ../core/db.h ../core/item.h
cp.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
cp.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
cp.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
cp.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
cp.o: ../core/compress.h ../core/acceptencodingparser.h
cp.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
cp.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
cp.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
cp.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
cp.o: ../core/session.h ../core/plugindata.h ../core/rebus.h ../core/config.h
cp.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h
cp.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
cp.o: ../core/mounts.h ../core/mount.h ../core/users.h
cp.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
cp.o: ../core/notify.h ../templatesnotify/templatesnotify.h
cp.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
cp.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h
cp.o: ../core/system.h ../core/misc.h
cp.o: ../core/system.h ../core/misc.h functions.h functionparser.h adduser.h
cp.o: cat.h chmod.h privchanger.h chown.h ckeditor.h createthread.h
cp.o: createticket.h default.h download.h editticket.h emacs.h last.h login.h
cp.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h subject.h
cp.o: funthread.h ../core/thread.h funticket.h ../core/ticket.h tinymce.h
cp.o: uname.h upload.h uptime.h who.h
createthread.o: createthread.h functionbase.h ../core/item.h ../core/db.h
createthread.o: ../core/item.h ../core/user.h ../core/group.h
createthread.o: ../core/thread.h ../core/error.h ../core/log.h
createthread.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
createthread.o: ../core/request.h ../core/requesttypes.h ../core/session.h
createthread.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h
createthread.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
createthread.o: ../core/htmlfilter.h ../core/postmultiparser.h
createthread.o: ../core/config.h ../core/confparser.h ../core/config.h
createthread.o: ../core/plugindata.h ../core/rebus.h ../core/config.h
createthread.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h
createthread.o: ../core/system.h ../core/dirs.h ../core/db.h
createthread.o: ../core/request.h ../core/mounts.h ../core/mount.h
createthread.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h
@ -123,10 +114,8 @@ createticket.o: ../core/item.h ../core/user.h ../core/group.h
createticket.o: ../core/thread.h ../core/error.h ../core/log.h
createticket.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
createticket.o: ../core/request.h ../core/requesttypes.h ../core/session.h
createticket.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h
createticket.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
createticket.o: ../core/htmlfilter.h ../core/postmultiparser.h
createticket.o: ../core/config.h ../core/confparser.h ../core/config.h
createticket.o: ../core/plugindata.h ../core/rebus.h ../core/config.h
createticket.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h
createticket.o: ../core/system.h ../core/dirs.h ../core/db.h
createticket.o: ../core/request.h ../core/mounts.h ../core/mount.h
createticket.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h
@ -145,28 +134,24 @@ default.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
default.o: ../core/error.h ../core/log.h ../core/dircontainer.h
default.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
default.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
default.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
default.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
default.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
default.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
default.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
default.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
default.o: ../core/notify.h ../templatesnotify/templatesnotify.h
default.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
default.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h
default.o: ../core/system.h
default.o: ../core/rebus.h ../core/config.h ../core/confparser.h
default.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
default.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
default.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
default.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
default.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
default.o: ../core/mount.h ../core/locale.h ../templates/misc.h
default.o: ../templates/localefilter.h ../core/locale.h ../core/system.h
download.o: download.h functionbase.h ../core/item.h ../core/db.h
download.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
download.o: ../core/error.h ../core/log.h ../core/dircontainer.h
download.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
download.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
download.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
download.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
download.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
download.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
download.o: ../core/request.h ../core/mounts.h ../core/mount.h
download.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h
download.o: ../core/loadavg.h ../core/notify.h
download.o: ../core/rebus.h ../core/config.h ../core/confparser.h
download.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
download.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
download.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
download.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
download.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
download.o: ../core/mount.h ../core/locale.h ../templates/misc.h
download.o: ../templates/localefilter.h ../core/locale.h ../core/system.h
@ -175,10 +160,8 @@ editticket.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
editticket.o: ../core/error.h ../core/log.h ../core/dircontainer.h
editticket.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
editticket.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
editticket.o: ../core/rebus.h ../core/compress.h
editticket.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
editticket.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h
editticket.o: ../core/confparser.h ../core/config.h ../core/system.h
editticket.o: ../core/rebus.h ../core/config.h ../core/confparser.h
editticket.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
editticket.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
editticket.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
editticket.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
@ -197,9 +180,7 @@ emacs.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
emacs.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
emacs.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
emacs.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
emacs.o: ../core/compress.h ../core/acceptencodingparser.h
emacs.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
emacs.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
emacs.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
emacs.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
emacs.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
emacs.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -221,32 +202,27 @@ functionbase.o: ../core/user.h ../core/group.h ../core/thread.h
functionbase.o: ../core/error.h ../core/log.h ../core/dircontainer.h
functionbase.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
functionbase.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
functionbase.o: ../core/rebus.h ../core/compress.h
functionbase.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
functionbase.o: ../core/htmlfilter.h ../core/postmultiparser.h
functionbase.o: ../core/config.h ../core/confparser.h ../core/config.h
functionbase.o: ../core/system.h ../core/dirs.h ../core/db.h
functionbase.o: ../core/request.h ../core/mounts.h ../core/mount.h
functionbase.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h
functionbase.o: ../core/loadavg.h ../core/notify.h
functionbase.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
functionbase.o: ../core/mount.h ../core/locale.h ../templates/misc.h
functionbase.o: ../templates/localefilter.h ../core/locale.h ../core/system.h
functionbase.o: functions.h functionparser.h adduser.h cat.h chmod.h
functionbase.o: privchanger.h chown.h ckeditor.h cp.h createthread.h
functionbase.o: createticket.h default.h download.h editticket.h emacs.h
functionbase.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h
functionbase.o: reload.h rm.h run.h subject.h funthread.h ../core/thread.h
functionbase.o: funticket.h ../core/ticket.h tinymce.h uname.h upload.h
functionbase.o: uptime.h who.h
functionbase.o: ../core/rebus.h ../core/config.h ../core/confparser.h
functionbase.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
functionbase.o: ../core/dirs.h ../core/db.h ../core/request.h
functionbase.o: ../core/mounts.h ../core/mount.h ../core/users.h
functionbase.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
functionbase.o: ../core/notify.h ../templatesnotify/templatesnotify.h
functionbase.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
functionbase.o: ../templates/misc.h ../templates/localefilter.h
functionbase.o: ../core/locale.h ../core/system.h functions.h
functionbase.o: functionparser.h adduser.h cat.h chmod.h privchanger.h
functionbase.o: chown.h ckeditor.h cp.h createthread.h createticket.h
functionbase.o: default.h download.h editticket.h emacs.h last.h login.h
functionbase.o: logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h run.h
functionbase.o: subject.h funthread.h ../core/thread.h funticket.h
functionbase.o: ../core/ticket.h tinymce.h uname.h upload.h uptime.h who.h
functionparser.o: functionparser.h ../core/request.h ../core/requesttypes.h
functionparser.o: ../core/session.h ../core/item.h ../core/error.h
functionparser.o: ../core/log.h ../core/user.h ../core/plugindata.h
functionparser.o: ../core/rebus.h ../core/compress.h
functionparser.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
functionparser.o: ../core/htmlfilter.h ../core/postmultiparser.h
functionparser.o: ../core/config.h ../core/confparser.h ../core/db.h
functionparser.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
functionparser.o: ../core/rebus.h ../core/config.h ../core/confparser.h
functionparser.o: ../core/htmlfilter.h ../core/db.h ../core/group.h
functionparser.o: ../core/thread.h ../core/dircontainer.h
functionparser.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
functionparser.o: ../core/dirs.h ../core/db.h ../core/request.h
functionparser.o: ../core/mounts.h ../core/mount.h ../core/users.h
@ -267,10 +243,8 @@ functions.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
functions.o: ../core/error.h ../core/log.h ../core/dircontainer.h
functions.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
functions.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
functions.o: ../core/rebus.h ../core/compress.h
functions.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
functions.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h
functions.o: ../core/confparser.h ../core/config.h ../core/system.h
functions.o: ../core/rebus.h ../core/config.h ../core/confparser.h
functions.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
functions.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
functions.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
functions.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
@ -293,10 +267,8 @@ funthread.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
funthread.o: ../core/error.h ../core/log.h ../core/dircontainer.h
funthread.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
funthread.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
funthread.o: ../core/rebus.h ../core/compress.h
funthread.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
funthread.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h
funthread.o: ../core/confparser.h ../core/config.h ../core/system.h
funthread.o: ../core/rebus.h ../core/config.h ../core/confparser.h
funthread.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
funthread.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
funthread.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
funthread.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
@ -309,10 +281,8 @@ funticket.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
funticket.o: ../core/error.h ../core/log.h ../core/dircontainer.h
funticket.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
funticket.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
funticket.o: ../core/rebus.h ../core/compress.h
funticket.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
funticket.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h
funticket.o: ../core/confparser.h ../core/config.h ../core/system.h
funticket.o: ../core/rebus.h ../core/config.h ../core/confparser.h
funticket.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
funticket.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
funticket.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
funticket.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
@ -325,9 +295,7 @@ last.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
last.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
last.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
last.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
last.o: ../core/compress.h ../core/acceptencodingparser.h
last.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
last.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
last.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
last.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
last.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
last.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -340,9 +308,7 @@ login.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
login.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
login.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
login.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
login.o: ../core/compress.h ../core/acceptencodingparser.h
login.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
login.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
login.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
login.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
login.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
login.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -355,9 +321,7 @@ logout.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
logout.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
logout.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
logout.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
logout.o: ../core/compress.h ../core/acceptencodingparser.h
logout.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
logout.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
logout.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
logout.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
logout.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
logout.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -369,12 +333,10 @@ ls.o: ls.h functionbase.h ../core/item.h ../core/db.h ../core/item.h
ls.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
ls.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
ls.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
ls.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
ls.o: ../core/compress.h ../core/acceptencodingparser.h
ls.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
ls.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
ls.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
ls.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
ls.o: ../core/session.h ../core/plugindata.h ../core/rebus.h ../core/config.h
ls.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h
ls.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
ls.o: ../core/mounts.h ../core/mount.h ../core/users.h
ls.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
ls.o: ../core/notify.h ../templatesnotify/templatesnotify.h
ls.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
@ -385,9 +347,7 @@ mkdir.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
mkdir.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
mkdir.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
mkdir.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
mkdir.o: ../core/compress.h ../core/acceptencodingparser.h
mkdir.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
mkdir.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
mkdir.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
mkdir.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
mkdir.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
mkdir.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -404,25 +364,26 @@ mv.o: mv.h functionbase.h ../core/item.h ../core/db.h ../core/item.h
mv.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
mv.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
mv.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
mv.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
mv.o: ../core/compress.h ../core/acceptencodingparser.h
mv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
mv.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
mv.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
mv.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
mv.o: ../core/session.h ../core/plugindata.h ../core/rebus.h ../core/config.h
mv.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h
mv.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
mv.o: ../core/mounts.h ../core/mount.h ../core/users.h
mv.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
mv.o: ../core/notify.h ../templatesnotify/templatesnotify.h
mv.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
mv.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h
mv.o: ../core/system.h
mv.o: ../core/system.h functions.h functionparser.h adduser.h cat.h chmod.h
mv.o: privchanger.h chown.h ckeditor.h cp.h createthread.h createticket.h
mv.o: default.h download.h editticket.h emacs.h last.h login.h logout.h ls.h
mv.o: mkdir.h node.h priv.h reload.h rm.h run.h subject.h funthread.h
mv.o: ../core/thread.h funticket.h ../core/ticket.h tinymce.h uname.h
mv.o: upload.h uptime.h who.h
node.o: node.h functionbase.h ../core/item.h ../core/db.h ../core/item.h
node.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
node.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
node.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
node.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
node.o: ../core/compress.h ../core/acceptencodingparser.h
node.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
node.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
node.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
node.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
node.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
node.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -435,9 +396,7 @@ priv.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
priv.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
priv.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
priv.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
priv.o: ../core/compress.h ../core/acceptencodingparser.h
priv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
priv.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
priv.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
priv.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
priv.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
priv.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -448,21 +407,17 @@ priv.o: ../core/system.h privchanger.h
privchanger.o: privchanger.h ../core/request.h ../core/requesttypes.h
privchanger.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
privchanger.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
privchanger.o: ../core/compress.h ../core/acceptencodingparser.h
privchanger.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
privchanger.o: ../core/postmultiparser.h ../core/config.h
privchanger.o: ../core/confparser.h ../core/system.h ../core/dirs.h
privchanger.o: ../core/dircontainer.h ../core/db.h ../core/request.h
privchanger.o: ../core/mounts.h ../core/mount.h ../core/users.h
privchanger.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h
privchanger.o: ../core/group.h ../core/loadavg.h ../core/db.h
privchanger.o: ../core/thread.h ../core/ticket.h
privchanger.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
privchanger.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h
privchanger.o: ../core/db.h ../core/request.h ../core/mounts.h
privchanger.o: ../core/mount.h ../core/users.h ../core/ugcontainer.h
privchanger.o: ../core/lastcontainer.h ../core/groups.h ../core/group.h
privchanger.o: ../core/loadavg.h ../core/db.h ../core/thread.h
privchanger.o: ../core/ticket.h
readticket.o: readticket.h ../core/request.h ../core/requesttypes.h
readticket.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
readticket.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
readticket.o: ../core/compress.h ../core/acceptencodingparser.h
readticket.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
readticket.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
readticket.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
readticket.o: ../core/ticket.h ../core/system.h ../core/dirs.h
readticket.o: ../core/dircontainer.h ../core/db.h ../core/request.h
readticket.o: ../core/mounts.h ../core/mount.h ../core/users.h
@ -473,9 +428,7 @@ reload.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
reload.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
reload.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
reload.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
reload.o: ../core/compress.h ../core/acceptencodingparser.h
reload.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
reload.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
reload.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
reload.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
reload.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
reload.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -491,12 +444,10 @@ rm.o: rm.h functionbase.h ../core/item.h ../core/db.h ../core/item.h
rm.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
rm.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
rm.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
rm.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
rm.o: ../core/compress.h ../core/acceptencodingparser.h
rm.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
rm.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
rm.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
rm.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
rm.o: ../core/session.h ../core/plugindata.h ../core/rebus.h ../core/config.h
rm.o: ../core/confparser.h ../core/htmlfilter.h ../core/config.h
rm.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
rm.o: ../core/mounts.h ../core/mount.h ../core/users.h
rm.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
rm.o: ../core/notify.h ../templatesnotify/templatesnotify.h
rm.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
@ -517,9 +468,7 @@ run.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
run.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
run.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
run.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
run.o: ../core/compress.h ../core/acceptencodingparser.h
run.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
run.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
run.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
run.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
run.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
run.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -532,44 +481,39 @@ subject.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
subject.o: ../core/error.h ../core/log.h ../core/dircontainer.h
subject.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
subject.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
subject.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
subject.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
subject.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
subject.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
subject.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
subject.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
subject.o: ../core/notify.h ../templatesnotify/templatesnotify.h
subject.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
subject.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h
subject.o: ../core/system.h
subject.o: ../core/rebus.h ../core/config.h ../core/confparser.h
subject.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
subject.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
subject.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
subject.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
subject.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
subject.o: ../core/mount.h ../core/locale.h ../templates/misc.h
subject.o: ../templates/localefilter.h ../core/locale.h ../core/system.h
tinymce.o: tinymce.h functionbase.h ../core/item.h ../core/db.h
tinymce.o: ../core/item.h ../core/user.h ../core/group.h ../core/thread.h
tinymce.o: ../core/error.h ../core/log.h ../core/dircontainer.h
tinymce.o: ../core/ugcontainer.h ../core/ticket.h ../core/request.h
tinymce.o: ../core/requesttypes.h ../core/session.h ../core/plugindata.h
tinymce.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
tinymce.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
tinymce.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
tinymce.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
tinymce.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
tinymce.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
tinymce.o: ../core/notify.h ../templatesnotify/templatesnotify.h
tinymce.o: ../../ezc/src/ezc.h ../core/mount.h ../core/locale.h
tinymce.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h
tinymce.o: ../core/system.h functions.h functionparser.h adduser.h cat.h
tinymce.o: chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h
tinymce.o: createticket.h default.h download.h editticket.h emacs.h last.h
tinymce.o: login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h
tinymce.o: run.h subject.h funthread.h ../core/thread.h funticket.h
tinymce.o: ../core/ticket.h uname.h upload.h uptime.h who.h
tinymce.o: ../core/rebus.h ../core/config.h ../core/confparser.h
tinymce.o: ../core/htmlfilter.h ../core/config.h ../core/system.h
tinymce.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
tinymce.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
tinymce.o: ../core/groups.h ../core/loadavg.h ../core/notify.h
tinymce.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
tinymce.o: ../core/mount.h ../core/locale.h ../templates/misc.h
tinymce.o: ../templates/localefilter.h ../core/locale.h ../core/system.h
tinymce.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
tinymce.o: chown.h ckeditor.h cp.h createthread.h createticket.h default.h
tinymce.o: download.h editticket.h emacs.h last.h login.h logout.h ls.h
tinymce.o: mkdir.h mv.h node.h priv.h reload.h rm.h run.h subject.h
tinymce.o: funthread.h ../core/thread.h funticket.h ../core/ticket.h uname.h
tinymce.o: upload.h uptime.h who.h
uname.o: uname.h functionbase.h ../core/item.h ../core/db.h ../core/item.h
uname.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
uname.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
uname.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
uname.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
uname.o: ../core/compress.h ../core/acceptencodingparser.h
uname.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
uname.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
uname.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
uname.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
uname.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
uname.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -582,9 +526,7 @@ upload.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
upload.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
upload.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
upload.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
upload.o: ../core/compress.h ../core/acceptencodingparser.h
upload.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
upload.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
upload.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
upload.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
upload.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
upload.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -598,14 +540,12 @@ upload.o: editticket.h emacs.h last.h login.h logout.h ls.h mkdir.h mv.h
upload.o: node.h priv.h reload.h rm.h run.h subject.h funthread.h
upload.o: ../core/thread.h funticket.h ../core/ticket.h tinymce.h uname.h
upload.o: uptime.h who.h
uptime.o: uname.h functionbase.h ../core/item.h ../core/db.h ../core/item.h
uptime.o: uptime.h functionbase.h ../core/item.h ../core/db.h ../core/item.h
uptime.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
uptime.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
uptime.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
uptime.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
uptime.o: ../core/compress.h ../core/acceptencodingparser.h
uptime.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
uptime.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
uptime.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
uptime.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
uptime.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
uptime.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
@ -618,9 +558,7 @@ who.o: ../core/user.h ../core/group.h ../core/thread.h ../core/error.h
who.o: ../core/log.h ../core/dircontainer.h ../core/ugcontainer.h
who.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
who.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
who.o: ../core/compress.h ../core/acceptencodingparser.h
who.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
who.o: ../core/postmultiparser.h ../core/config.h ../core/confparser.h
who.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
who.o: ../core/config.h ../core/system.h ../core/dirs.h ../core/db.h
who.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
who.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h

View File

@ -21,33 +21,27 @@ AddUser::AddUser()
}
bool AddUser::CheckAddUserVars(const std::string * login, const std::string * pass, const std::string * conf_pass)
bool AddUser::CheckAddUserVars(const std::string & login, const std::string & pass, const std::string & conf_pass)
{
if( !login || !pass || !conf_pass )
{
request->status = WINIX_ERR_PERMISSION_DENIED;
return false;
}
if( login->empty() )
if( login.empty() )
{
request->status = WINIX_ERR_LOGIN_EMPTY;
return false;
}
if( *pass != *conf_pass )
if( pass != conf_pass )
{
request->status = WINIX_ERR_PASSWORDS_DIFFERENT;
return false;
}
if( pass->size() < 5 )
if( pass.size() < config->password_min_size )
{
request->status = WINIX_ERR_PASSWORD_TOO_SHORT;
return false;
}
if( system->users.IsUser(*login) )
if( system->users.IsUser(login) )
{
request->status = WINIX_ERR_USER_EXISTS;
return false;
@ -65,20 +59,17 @@ void AddUser::MakePost()
{
User user;
std::string * login = request->PostVar("login");
std::string * pass = request->PostVar("password");
std::string * conf_pass = request->PostVar("confirmpassword");
std::string * email = request->PostVar("email");
const std::string & login = request->PostVar("login");
const std::string & pass = request->PostVar("password");
const std::string & conf_pass = request->PostVar("confirmpassword");
if( !CheckAddUserVars(login, pass, conf_pass) )
return;
user.name = *login;
user.name = login;
user.email = request->PostVar("email");
if( email )
user.email = *email;
request->status = db->AddUser(user, *pass);
request->status = db->AddUser(user, pass);
if( request->status == WINIX_ERR_OK )
{
@ -87,11 +78,11 @@ User user;
if( !request->session->puser )
system->users.LoginUser(user.id, false);
log << log2 << "Content: added a new user: " << user.name << logend;
log << log2 << "Adduser: added a new user: " << user.name << logend;
}
else
{
log << log1 << "Content: I can't add to system->users: " << user.name
log << log1 << "Adduser: I can't add to system->users: " << user.name
<< " but the user was added to the db correctly" << logend;
}

View File

@ -27,7 +27,7 @@ public:
private:
bool CheckAddUserVars(const std::string * login, const std::string * pass, const std::string * conf_pass);
bool CheckAddUserVars(const std::string & login, const std::string & pass, const std::string & conf_pass);
};

View File

@ -10,7 +10,7 @@
#include <errno.h>
#include "cp.h"
#include "core/misc.h"
#include "functions.h"
namespace Fun
@ -67,15 +67,7 @@ return true;
bool Cp::ParseDir(long & dir_id, std::string & dir, std::string & file)
{
std::string * move_to = request->PostVar("to");
if( !move_to )
{
request->status = WINIX_ERR_PERMISSION_DENIED;
return false;
}
int res = system->dirs.AnalyzePath(*move_to, dir_id, dir, file);
int res = system->dirs.AnalyzePath(request->PostVar("to"), dir_id, dir, file);
if( res == 1 )
request->status = WINIX_ERR_NO_ROOT_DIR;
@ -193,7 +185,7 @@ long Cp::CpDir(const Item & item, long dst_dir_id)
{
cp_temp.url = mv_file;
mv_file.clear();
system->PrepareUrl(cp_temp);
functions->PrepareUrl(cp_temp);
}
if( !cp_preserve_attr )
@ -240,7 +232,7 @@ void Cp::CpItemCheck(Item & item, bool redirect)
if( !mv_file.empty() )
{
item.url = mv_file;
system->PrepareUrl(item);
functions->PrepareUrl(item);
}
CpItem(item, mv_dir_id);

View File

@ -25,13 +25,13 @@ long Default::PostFunDefaultParsePath()
Item * pdir, * pdir2;
long defaultid = -1;
std::string * path = request->PostVar("defaultitem");
const std::string & path = request->PostVar("defaultitem");
if( path && !path->empty() )
if( !path.empty() )
{
std::string dir, file;
Dirs::SplitPath(*path, dir, file);
Dirs::SplitPath(path, dir, file);
pdir = system->dirs.GetDir(dir);

View File

@ -72,7 +72,7 @@ void EditTicket::EditTicketCheckFirstItem()
item.type = Item::file;
item.privileges = 0644; // !! tymczasowo
functions->SetUser(item);
system->PrepareUrl(item);
functions->PrepareUrl(item);
request->status = db->AddItem(item);

View File

@ -123,14 +123,17 @@ void Emacs::MakePost()
}
else
{
system->EditFile(request->item, edit_with_url);
// !! moze dodac metode EditFile w klasie functions?
// i ona wywola system->EditFile i poniszego updatera
if( system->EditFile(request->item, edit_with_url) == WINIX_ERR_OK )
TemplatesFunctions::pattern_cacher.UpdatePattern(request->item);
}
if( request->status == WINIX_ERR_OK )
{
PostFunEmacsModifyMountPoint(adding);
system->CheckSpecialFile(request->item);
functions->CheckSpecialFile(request->item);
}
else
{

View File

@ -58,6 +58,56 @@ return i->second;
}
void Functions::PrepareUrl(Item & item)
{
TrimWhite(item.url);
if( item.url.empty() )
item.url = item.subject; // if the subject is empty then the url will be corrected by CorrectUrlOnlyAllowedChar()
CorrectUrlOnlyAllowedChar(item.url);
if( Find(item.url) )
{
// the name provided by an user is the same as a name of a function
// we add one underscore character at the beginning
// names of functions should not begin with an underscore '_'
// and we can simply add one '_' at the beginning
// and the name will be unique
item.url.insert(item.url.begin(), '_');
}
}
Error Functions::CheckSpecialFile(const Item & item)
{
static std::string fstab = "fstab";
Item * etc = system->dirs.GetEtcDir();
if( !etc )
return WINIX_NOTHING_TO_DO;
if( item.parent_id != etc->id )
return WINIX_NOTHING_TO_DO;
if( item.url == fstab )
{
log << log3 << "Functions: reloading mount points" << logend;
Error status = system->mounts.ReadMounts(item.content);
templates->ReadNewIndexTemplates();
return status;
}
return WINIX_NOTHING_TO_DO;
}
void Functions::SetObjects(FunctionBase * fun)
{
fun->SetConfig(config);
@ -299,25 +349,26 @@ bool Functions::ReadItemUrlSubject(Item & item, Item::Type item_type)
{
bool with_url = false;
std::string * new_url = request->PostVar("url");
std::string * new_subject = request->PostVar("subject");
const std::string & new_url = request->PostVar("url");
const std::string & new_subject = request->PostVar("subject");
if( item_type == Item::file )
{
if( !request->is_item || (new_url && *new_url != item.url) )
if( !request->is_item || new_url != item.url )
with_url = true;
}
else
{
// !! dla katalogow zawsze ma modyfikowac url?
with_url = true;
}
if( new_url )
item.url = *new_url;
if( !new_url.empty() )
item.url = new_url;
if( new_subject )
item.subject = *new_subject;
if( !new_subject.empty() )
item.subject = new_subject;
if( item.subject.empty() )
@ -328,7 +379,7 @@ bool Functions::ReadItemUrlSubject(Item & item, Item::Type item_type)
}
// if item.url is empty then it will be set from item.subject
system->PrepareUrl(item);
PrepareUrl(item);
return with_url;
}

View File

@ -102,6 +102,8 @@ public:
void SetNotify(Notify * pnotify);
FunctionBase * Find(const std::string & function_name);
Error CheckSpecialFile(const Item & item);
void PrepareUrl(Item & item);
void SetDefaultFunction();
void CheckGetPostTimes(time_t difference = 10);

View File

@ -22,13 +22,13 @@ Login::Login()
void Login::MakePost()
{
std::string * login = request->PostVar("login");
std::string * pass = request->PostVar("password");
std::string * remem = request->PostVar("rememberme");
const std::string & login = request->PostVar("login");
const std::string & pass = request->PostVar("password");
const std::string & remem = request->PostVar("rememberme");
long user_id;
if( login && pass && db->CheckUser(*login, *pass, user_id) )
system->users.LoginUser(user_id, remem != 0);
if( db->CheckUser(login, pass, user_id) )
system->users.LoginUser(user_id, !remem.empty());
// !! moze zglosic komunikat o nie poprawnym logowaniu

View File

@ -7,10 +7,9 @@
*
*/
// !! potrzebne errno?
#include <errno.h>
#include "mv.h"
#include "functions.h"
namespace Fun
@ -34,7 +33,7 @@ Item * last_but_one = 0;
if( request->method != Request::post )
{
// used in GET (HEAD in the future?)
// used in GET or HEAD
if( !system->HasWriteAccess(*last) &&
(!last_but_one || !system->HasWriteAccess(*last_but_one)) )
@ -134,15 +133,7 @@ return true;
bool Mv::MoveParseDir(long & dir_id, std::string & dir, std::string & file)
{
std::string * move_to = request->PostVar("to");
if( !move_to )
{
request->status = WINIX_ERR_PERMISSION_DENIED;
return false;
}
int res = system->dirs.AnalyzePath(*move_to, dir_id, dir, file);
int res = system->dirs.AnalyzePath(request->PostVar("to"), dir_id, dir, file);
if( res == 1 )
request->status = WINIX_ERR_NO_ROOT_DIR;
@ -209,7 +200,7 @@ void Mv::MoveFile(Item & item, bool redirect)
if( !mv_file.empty() )
{
item.url = mv_file;
system->PrepareUrl(item);
functions->PrepareUrl(item);
}
item.parent_id = mv_dir_id;
@ -313,7 +304,7 @@ void Mv::MoveDir(Item & item, bool redirect)
if( !mv_file.empty() )
{
item.url = mv_file;
system->PrepareUrl(item);
functions->PrepareUrl(item);
}
request->status = db->EditParentUrlById(item, item.id);

View File

@ -207,45 +207,28 @@ void PrivChanger::PrivDir(long parent_id)
}
bool PrivChanger::ReadPriv(const char * user_in, const char * group_in, const char * priv_in,
void PrivChanger::ReadPriv(const char * user_in, const char * group_in, const char * priv_in,
long & user_id, long & group_id, int & priv)
{
std::string * user_str = request->PostVar(user_in);
std::string * group_str = request->PostVar(group_in);
std::string * priv_str = request->PostVar(priv_in);
if( change_owner && (!user_str || !group_str) )
{
log << log1 << "Content: PostFunPriv: there is no some post variables for changing the owner" << logend;
return false;
}
if( change_priv && !priv_str )
{
log << log1 << "Content: PostFunPriv: there is no some post variables for changing privileges" << logend;
return false;
}
const std::string & user_str = request->PostVar(user_in);
const std::string & group_str = request->PostVar(group_in);
const std::string & priv_str = request->PostVar(priv_in);
if( change_owner )
{
user_id = system->users.GetUserId( *user_str );
group_id = system->groups.GetGroupId( *group_str );
user_id = system->users.GetUserId( user_str );
group_id = system->groups.GetGroupId( group_str );
}
if( change_priv )
priv = strtol( priv_str->c_str() , 0, 8);
return true;
priv = strtol(priv_str.c_str(), 0, 8);
}
void PrivChanger::PrivDir()
{
if( !ReadPriv("userfile", "groupfile", "privilegesfile", user_id_file, group_id_file, priv_file) )
return;
if( !ReadPriv("userdir", "groupdir", "privilegesdir", user_id_dir, group_id_dir, priv_dir) )
return;
ReadPriv("userfile", "groupfile", "privilegesfile", user_id_file, group_id_file, priv_file);
ReadPriv("userdir", "groupdir", "privilegesdir", user_id_dir, group_id_dir, priv_dir);
PrivLogStart("Content: changes for files: ", user_id_file, group_id_file, priv_file);
PrivLogStart("Content: changes for dirs: ", user_id_dir, group_id_dir, priv_dir);
@ -272,8 +255,7 @@ void PrivChanger::PrivDir()
// changing only one item (either a dir or file)
void PrivChanger::PrivOneItem()
{
if( !ReadPriv("user", "group", "privileges", user_id_file, group_id_file, priv_file) )
return;
ReadPriv("user", "group", "privileges", user_id_file, group_id_file, priv_file);
PrivLogStart("Content: changes: ", user_id_file, group_id_file, priv_file);

View File

@ -46,7 +46,7 @@ private:
void PrivLog(const char * what, long id, const std::string & url);
void PrivFilesInDir(long parent_id);
void PrivDir(long parent_id);
bool ReadPriv(const char * user_in, const char * group_in, const char * priv_in,
void ReadPriv(const char * user_in, const char * group_in, const char * priv_in,
long & user_id, long & group_id, int & priv);
void PrivDir();
void PrivOneItem();

View File

@ -155,7 +155,7 @@ void Upload::UploadMulti()
request->item.url = file_name;
request->item.auth = SelectFileType(file_name);
system->PrepareUrl(request->item);
functions->PrepareUrl(request->item);
request->status = system->AddFile(request->item);
if( !UploadCreatePath() )
@ -174,10 +174,10 @@ void Upload::UploadMulti()
void Upload::UploadSingle()
{
std::string * new_subject = request->PostVar("subject");
std::string * new_url = request->PostVar("url");
bool has_subject = (new_subject && (*new_subject)[0] != 0 );
bool has_url = (new_url && (*new_url)[0] != 0 );
const std::string & new_subject = request->PostVar("subject");
const std::string & new_url = request->PostVar("url");
bool has_subject = !new_subject.empty();
bool has_url = !new_url.empty(); //(new_url && (*new_url)[0] != 0 );
functions->ReadItem(request->item, Item::file); // ReadItem() changes the url if it is empty
functions->SetUser(request->item);
@ -192,7 +192,7 @@ void Upload::UploadSingle()
if( !has_url )
{
request->item.url = file_name;
system->PrepareUrl(request->item);
functions->PrepareUrl(request->item);
}
request->status = system->AddFile(request->item);

View File

@ -1,16 +1,14 @@
# DO NOT DELETE
main.o: ../core/log.h ../core/app.h ../core/config.h ../core/confparser.h
main.o: ../core/system.h ../core/dirs.h ../core/item.h ../core/dircontainer.h
main.o: ../core/db.h ../core/user.h ../core/group.h ../core/thread.h
main.o: ../core/error.h ../core/log.h ../core/ugcontainer.h ../core/ticket.h
main.o: ../core/request.h ../core/requesttypes.h ../core/session.h
main.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h
main.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
main.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/mounts.h
main.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
main.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h
main.o: ../core/sessioncontainer.h ../core/notify.h
main.o: ../core/htmlfilter.h ../core/system.h ../core/dirs.h ../core/item.h
main.o: ../core/dircontainer.h ../core/db.h ../core/user.h ../core/group.h
main.o: ../core/thread.h ../core/error.h ../core/log.h ../core/ugcontainer.h
main.o: ../core/ticket.h ../core/request.h ../core/requesttypes.h
main.o: ../core/session.h ../core/plugindata.h ../core/rebus.h
main.o: ../core/mounts.h ../core/mount.h ../core/users.h
main.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
main.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/notify.h
main.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
main.o: ../core/mount.h ../core/locale.h ../core/config.h ../templates/misc.h
main.o: ../templates/localefilter.h ../core/locale.h ../functions/functions.h
@ -32,4 +30,7 @@ main.o: ../functions/uptime.h ../functions/who.h ../templates/templates.h
main.o: ../templates/patterncacher.h ../core/item.h ../templates/misc.h
main.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
main.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h
main.o: ../core/compress.h ../core/getparser.h ../core/httpsimpleparser.h
main.o: ../core/postparser.h ../core/cookieparser.h ../core/postmultiparser.h
main.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
main.o: ../core/plugin.h ../core/pluginmsg.h

View File

@ -4,17 +4,15 @@ bot.o: bot.h
init.o: ../../core/log.h ../../core/request.h ../../core/requesttypes.h
init.o: ../../core/session.h ../../core/item.h ../../core/error.h
init.o: ../../core/log.h ../../core/user.h ../../core/plugindata.h
init.o: ../../core/rebus.h ../../core/compress.h
init.o: ../../core/acceptencodingparser.h ../../core/acceptbaseparser.h
init.o: ../../core/htmlfilter.h ../../core/postmultiparser.h
init.o: ../../core/config.h ../../core/confparser.h ../../core/config.h
init.o: ../../core/db.h ../../core/group.h ../../core/thread.h
init.o: ../../core/dircontainer.h ../../core/ugcontainer.h
init.o: ../../core/ticket.h bot.h stats.h templates.h ../../core/plugin.h
init.o: ../../core/pluginmsg.h ../../core/request.h ../../core/system.h
init.o: ../../core/dirs.h ../../core/db.h ../../core/mounts.h
init.o: ../../core/mount.h ../../core/users.h ../../core/lastcontainer.h
init.o: ../../core/groups.h ../../core/loadavg.h ../../core/sessionmanager.h
init.o: ../../core/rebus.h ../../core/config.h ../../core/confparser.h
init.o: ../../core/htmlfilter.h ../../core/config.h ../../core/db.h
init.o: ../../core/group.h ../../core/thread.h ../../core/dircontainer.h
init.o: ../../core/ugcontainer.h ../../core/ticket.h bot.h stats.h
init.o: templates.h ../../core/plugin.h ../../core/pluginmsg.h
init.o: ../../core/request.h ../../core/system.h ../../core/dirs.h
init.o: ../../core/db.h ../../core/mounts.h ../../core/mount.h
init.o: ../../core/users.h ../../core/lastcontainer.h ../../core/groups.h
init.o: ../../core/loadavg.h ../../core/sessionmanager.h
init.o: ../../core/sessioncontainer.h ../../functions/functions.h
init.o: ../../functions/functionbase.h ../../core/item.h ../../core/system.h
init.o: ../../core/notify.h ../../templatesnotify/templatesnotify.h
@ -45,21 +43,19 @@ init.o: statssession.h ../../core/plugindata.h
stats.o: stats.h ../../core/config.h ../../core/log.h
templates.o: templates.h ../../core/plugin.h ../../core/pluginmsg.h
templates.o: ../../core/log.h ../../core/plugindata.h ../../core/config.h
templates.o: ../../core/confparser.h ../../core/request.h ../../core/system.h
templates.o: ../../core/dirs.h ../../core/item.h ../../core/dircontainer.h
templates.o: ../../core/db.h ../../core/mounts.h ../../core/mount.h
templates.o: ../../core/error.h ../../core/users.h ../../core/user.h
templates.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
templates.o: ../../core/groups.h ../../core/group.h ../../core/rebus.h
templates.o: ../../core/loadavg.h ../../core/sessionmanager.h
templates.o: ../../core/sessioncontainer.h ../../core/session.h
templates.o: ../../functions/functions.h ../../functions/functionbase.h
templates.o: ../../core/item.h ../../core/db.h ../../core/thread.h
templates.o: ../../core/ticket.h ../../core/request.h
templates.o: ../../core/requesttypes.h ../../core/compress.h
templates.o: ../../core/acceptencodingparser.h ../../core/acceptbaseparser.h
templates.o: ../../core/htmlfilter.h ../../core/postmultiparser.h
templates.o: ../../core/config.h ../../core/system.h ../../core/notify.h
templates.o: ../../core/confparser.h ../../core/htmlfilter.h
templates.o: ../../core/request.h ../../core/system.h ../../core/dirs.h
templates.o: ../../core/item.h ../../core/dircontainer.h ../../core/db.h
templates.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h
templates.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h
templates.o: ../../core/lastcontainer.h ../../core/groups.h
templates.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
templates.o: ../../core/session.h ../../functions/functions.h
templates.o: ../../functions/functionbase.h ../../core/item.h ../../core/db.h
templates.o: ../../core/thread.h ../../core/ticket.h ../../core/request.h
templates.o: ../../core/requesttypes.h ../../core/config.h
templates.o: ../../core/system.h ../../core/notify.h
templates.o: ../../templatesnotify/templatesnotify.h ../../../ezc/src/ezc.h
templates.o: ../../core/mount.h ../../core/locale.h ../../templates/misc.h
templates.o: ../../templates/localefilter.h ../../core/locale.h

View File

@ -4,12 +4,10 @@ adduser.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h
adduser.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h
adduser.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
adduser.o: indexpatterns.h ../core/locale.h ../core/config.h
adduser.o: ../core/request.h ../core/requesttypes.h ../core/session.h
adduser.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
adduser.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h
adduser.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
adduser.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h
adduser.o: ../core/db.h ../core/group.h ../core/thread.h
adduser.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
adduser.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
adduser.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
adduser.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h
adduser.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
adduser.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
adduser.o: ../core/mounts.h ../core/mount.h ../core/users.h
@ -19,12 +17,10 @@ adduser.o: ../core/system.h
dir.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
dir.o: localefilter.h ../core/locale.h ../core/confparser.h
dir.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
dir.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
dir.o: ../core/requesttypes.h ../core/session.h ../core/item.h
dir.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
dir.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
dir.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
dir.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
dir.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h
dir.o: ../core/request.h ../core/requesttypes.h ../core/session.h
dir.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
dir.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h
dir.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
dir.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h
dir.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h
@ -49,12 +45,10 @@ dir.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h
doc.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
doc.o: localefilter.h ../core/locale.h ../core/confparser.h
doc.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
doc.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
doc.o: ../core/requesttypes.h ../core/session.h ../core/item.h
doc.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
doc.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
doc.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
doc.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
doc.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h
doc.o: ../core/request.h ../core/requesttypes.h ../core/session.h
doc.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
doc.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h
doc.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
doc.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h
doc.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h
@ -63,17 +57,15 @@ doc.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h
doc.o: ../core/system.h ../core/request.h ../core/misc.h
indexpatterns.o: indexpatterns.h ../../ezc/src/ezc.h localefilter.h
indexpatterns.o: ../core/locale.h ../core/confparser.h ../core/locale.h
indexpatterns.o: ../core/config.h ../core/log.h
indexpatterns.o: ../core/config.h ../core/htmlfilter.h ../core/log.h
item.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
item.o: localefilter.h ../core/locale.h ../core/confparser.h
item.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
item.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
item.o: ../core/requesttypes.h ../core/session.h ../core/item.h
item.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
item.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
item.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
item.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
item.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
item.o: indexpatterns.h ../core/locale.h ../core/config.h
item.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
item.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
item.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
item.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h
item.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
item.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
item.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
@ -83,13 +75,11 @@ item.o: ../core/misc.h ../core/bbcodeparser.h
last.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
last.o: localefilter.h ../core/locale.h ../core/confparser.h
last.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
last.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
last.o: ../core/requesttypes.h ../core/session.h ../core/item.h
last.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
last.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
last.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
last.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
last.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
last.o: indexpatterns.h ../core/locale.h ../core/config.h
last.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
last.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
last.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
last.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h
last.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
last.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
last.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
@ -101,28 +91,24 @@ localefilter.o: ../../ezc/src/ezc.h ../core/misc.h ../core/item.h
ls.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
ls.o: localefilter.h ../core/locale.h ../core/confparser.h
ls.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
ls.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
ls.o: ../core/requesttypes.h ../core/session.h ../core/item.h ../core/error.h
ls.o: ../core/log.h ../core/user.h ../core/plugindata.h ../core/rebus.h
ls.o: ../core/compress.h ../core/acceptencodingparser.h
ls.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
ls.o: ../core/postmultiparser.h ../core/config.h ../core/db.h ../core/group.h
ls.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
ls.o: ../core/ticket.h ../core/system.h ../core/dirs.h ../core/db.h
ls.o: ../core/request.h ../core/mounts.h ../core/mount.h ../core/users.h
ls.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
ls.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
ls.o: ../core/request.h
ls.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h
ls.o: ../core/request.h ../core/requesttypes.h ../core/session.h
ls.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
ls.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h
ls.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
ls.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h
ls.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h
ls.o: ../core/users.h ../core/lastcontainer.h ../core/groups.h
ls.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h
ls.o: ../core/system.h ../core/request.h
misc.o: ../core/misc.h ../core/item.h ../core/request.h templates.h
misc.o: ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
misc.o: localefilter.h ../core/locale.h ../core/confparser.h
misc.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
misc.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
misc.o: ../core/requesttypes.h ../core/session.h ../core/error.h
misc.o: ../core/log.h ../core/user.h ../core/plugindata.h ../core/rebus.h
misc.o: ../core/compress.h ../core/acceptencodingparser.h
misc.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
misc.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
misc.o: indexpatterns.h ../core/locale.h ../core/config.h
misc.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
misc.o: ../core/session.h ../core/error.h ../core/log.h ../core/user.h
misc.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h
misc.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
misc.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
misc.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
@ -132,13 +118,11 @@ misc.o: ../core/sessioncontainer.h ../core/system.h
mount.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h
mount.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h
mount.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
mount.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
mount.o: ../core/requesttypes.h ../core/session.h ../core/item.h
mount.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
mount.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
mount.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
mount.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
mount.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
mount.o: indexpatterns.h ../core/locale.h ../core/config.h
mount.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
mount.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
mount.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
mount.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h
mount.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
mount.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
mount.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
@ -149,13 +133,11 @@ patterncacher.o: ../core/log.h
priv.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
priv.o: localefilter.h ../core/locale.h ../core/confparser.h
priv.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
priv.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
priv.o: ../core/requesttypes.h ../core/session.h ../core/item.h
priv.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
priv.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
priv.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
priv.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
priv.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
priv.o: indexpatterns.h ../core/locale.h ../core/config.h
priv.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
priv.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
priv.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
priv.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h
priv.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
priv.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
priv.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
@ -181,11 +163,9 @@ rebus.o: ../core/request.h templates.h ../../ezc/src/ezc.h patterncacher.h
rebus.o: ../core/item.h misc.h localefilter.h ../core/locale.h
rebus.o: ../core/confparser.h ckeditorgetparser.h ../core/httpsimpleparser.h
rebus.o: ../core/log.h indexpatterns.h ../core/locale.h ../core/config.h
rebus.o: ../core/request.h ../core/requesttypes.h ../core/session.h
rebus.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
rebus.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h
rebus.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
rebus.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h
rebus.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
rebus.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
rebus.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
rebus.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h
rebus.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
rebus.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
@ -195,12 +175,10 @@ rebus.o: ../core/sessioncontainer.h ../core/system.h
sys.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
sys.o: localefilter.h ../core/locale.h ../core/confparser.h
sys.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
sys.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
sys.o: ../core/requesttypes.h ../core/session.h ../core/item.h
sys.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
sys.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
sys.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
sys.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
sys.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h
sys.o: ../core/request.h ../core/requesttypes.h ../core/session.h
sys.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
sys.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h
sys.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
sys.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h
sys.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h
@ -211,12 +189,10 @@ templates.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h
templates.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h
templates.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
templates.o: indexpatterns.h ../core/locale.h ../core/config.h
templates.o: ../core/request.h ../core/requesttypes.h ../core/session.h
templates.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
templates.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h
templates.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
templates.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h
templates.o: ../core/db.h ../core/group.h ../core/thread.h
templates.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
templates.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
templates.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
templates.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h
templates.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
templates.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
templates.o: ../core/mounts.h ../core/mount.h ../core/users.h
@ -245,21 +221,20 @@ templates.o: ../functions/who.h ../templates/templates.h
thread.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h
thread.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h
thread.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
thread.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
thread.o: ../core/requesttypes.h ../core/session.h ../core/item.h
thread.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
thread.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
thread.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
thread.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
thread.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
thread.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
thread.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
thread.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
thread.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h
thread.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
thread.o: ../functions/functions.h ../functions/functionbase.h ../core/item.h
thread.o: ../core/notify.h ../templatesnotify/templatesnotify.h
thread.o: ../core/mount.h ../templates/misc.h ../functions/functionparser.h
thread.o: indexpatterns.h ../core/locale.h ../core/config.h
thread.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
thread.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
thread.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
thread.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h
thread.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
thread.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
thread.o: ../core/mounts.h ../core/mount.h ../core/users.h
thread.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
thread.o: ../core/sessionmanager.h ../core/sessioncontainer.h
thread.o: ../core/system.h ../core/misc.h ../functions/functions.h
thread.o: ../functions/functionbase.h ../core/item.h ../core/notify.h
thread.o: ../templatesnotify/templatesnotify.h ../core/mount.h
thread.o: ../templates/misc.h ../functions/functionparser.h
thread.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
thread.o: ../functions/privchanger.h ../functions/chown.h
thread.o: ../functions/ckeditor.h ../functions/cp.h
@ -276,21 +251,20 @@ thread.o: ../functions/uptime.h ../functions/who.h
ticket.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h
ticket.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h
ticket.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
ticket.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
ticket.o: ../core/requesttypes.h ../core/session.h ../core/item.h
ticket.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
ticket.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
ticket.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
ticket.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
ticket.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
ticket.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
ticket.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
ticket.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
ticket.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h
ticket.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
ticket.o: ../functions/functions.h ../functions/functionbase.h ../core/item.h
ticket.o: ../core/notify.h ../templatesnotify/templatesnotify.h
ticket.o: ../core/mount.h ../templates/misc.h ../functions/functionparser.h
ticket.o: indexpatterns.h ../core/locale.h ../core/config.h
ticket.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
ticket.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
ticket.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
ticket.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h
ticket.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
ticket.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
ticket.o: ../core/mounts.h ../core/mount.h ../core/users.h
ticket.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
ticket.o: ../core/sessionmanager.h ../core/sessioncontainer.h
ticket.o: ../core/system.h ../core/misc.h ../functions/functions.h
ticket.o: ../functions/functionbase.h ../core/item.h ../core/notify.h
ticket.o: ../templatesnotify/templatesnotify.h ../core/mount.h
ticket.o: ../templates/misc.h ../functions/functionparser.h
ticket.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
ticket.o: ../functions/privchanger.h ../functions/chown.h
ticket.o: ../functions/ckeditor.h ../functions/cp.h
@ -307,43 +281,39 @@ ticket.o: ../functions/uptime.h ../functions/who.h
upload.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h
upload.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h
upload.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
upload.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
upload.o: ../core/requesttypes.h ../core/session.h ../core/item.h
upload.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
upload.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
upload.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
upload.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
upload.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
upload.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
upload.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
upload.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
upload.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h
upload.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h
upload.o: indexpatterns.h ../core/locale.h ../core/config.h
upload.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
upload.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
upload.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
upload.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h
upload.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
upload.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
upload.o: ../core/mounts.h ../core/mount.h ../core/users.h
upload.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
upload.o: ../core/sessionmanager.h ../core/sessioncontainer.h
upload.o: ../core/system.h ../core/request.h
uptime.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h
uptime.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h
uptime.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
uptime.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
uptime.o: ../core/requesttypes.h ../core/session.h ../core/item.h
uptime.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
uptime.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
uptime.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
uptime.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
uptime.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
uptime.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
uptime.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
uptime.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
uptime.o: ../core/groups.h ../core/loadavg.h ../core/sessionmanager.h
uptime.o: ../core/sessioncontainer.h ../core/system.h
uptime.o: indexpatterns.h ../core/locale.h ../core/config.h
uptime.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
uptime.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
uptime.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
uptime.o: ../core/config.h ../core/db.h ../core/group.h ../core/thread.h
uptime.o: ../core/dircontainer.h ../core/ugcontainer.h ../core/ticket.h
uptime.o: ../core/system.h ../core/dirs.h ../core/db.h ../core/request.h
uptime.o: ../core/mounts.h ../core/mount.h ../core/users.h
uptime.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
uptime.o: ../core/sessionmanager.h ../core/sessioncontainer.h
uptime.o: ../core/system.h
user.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
user.o: localefilter.h ../core/locale.h ../core/confparser.h
user.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
user.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
user.o: ../core/requesttypes.h ../core/session.h ../core/item.h
user.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
user.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
user.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
user.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
user.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
user.o: indexpatterns.h ../core/locale.h ../core/config.h
user.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
user.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
user.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
user.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h
user.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
user.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
user.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h
@ -353,12 +323,10 @@ user.o: ../core/misc.h
who.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h misc.h
who.o: localefilter.h ../core/locale.h ../core/confparser.h
who.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
who.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
who.o: ../core/requesttypes.h ../core/session.h ../core/item.h
who.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
who.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
who.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
who.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
who.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/htmlfilter.h
who.o: ../core/request.h ../core/requesttypes.h ../core/session.h
who.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
who.o: ../core/plugindata.h ../core/rebus.h ../core/config.h ../core/db.h
who.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
who.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h ../core/dirs.h
who.o: ../core/db.h ../core/request.h ../core/mounts.h ../core/mount.h
@ -368,13 +336,11 @@ who.o: ../core/system.h ../core/misc.h
winix.o: templates.h ../../ezc/src/ezc.h patterncacher.h ../core/item.h
winix.o: misc.h localefilter.h ../core/locale.h ../core/confparser.h
winix.o: ckeditorgetparser.h ../core/httpsimpleparser.h ../core/log.h
winix.o: indexpatterns.h ../core/locale.h ../core/config.h ../core/request.h
winix.o: ../core/requesttypes.h ../core/session.h ../core/item.h
winix.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
winix.o: ../core/rebus.h ../core/compress.h ../core/acceptencodingparser.h
winix.o: ../core/acceptbaseparser.h ../core/htmlfilter.h
winix.o: ../core/postmultiparser.h ../core/config.h ../core/db.h
winix.o: ../core/group.h ../core/thread.h ../core/dircontainer.h
winix.o: indexpatterns.h ../core/locale.h ../core/config.h
winix.o: ../core/htmlfilter.h ../core/request.h ../core/requesttypes.h
winix.o: ../core/session.h ../core/item.h ../core/error.h ../core/log.h
winix.o: ../core/user.h ../core/plugindata.h ../core/rebus.h ../core/config.h
winix.o: ../core/db.h ../core/group.h ../core/thread.h ../core/dircontainer.h
winix.o: ../core/ugcontainer.h ../core/ticket.h ../core/system.h
winix.o: ../core/dirs.h ../core/db.h ../core/request.h ../core/mounts.h
winix.o: ../core/mount.h ../core/users.h ../core/lastcontainer.h

View File

@ -17,19 +17,13 @@ namespace TemplatesFunctions
void adduser_last_login(Info & i)
{
std::string * last_login = request->PostVar("login");
if( last_login )
i.out << *last_login;
i.out << request->PostVar("login");
}
void adduser_last_email(Info & i)
{
std::string * last_email = request->PostVar("email");
if( last_email )
i.out << *last_email;
i.out << request->PostVar("email");
}

View File

@ -2,19 +2,18 @@
notify.o: templatesnotify.h ../../ezc/src/ezc.h ../core/mount.h
notify.o: ../core/locale.h ../core/confparser.h ../core/config.h
notify.o: ../templates/misc.h ../templates/localefilter.h ../core/locale.h
notify.o: ../core/notify.h ../templatesnotify/templatesnotify.h
notify.o: ../core/request.h ../core/requesttypes.h ../core/session.h
notify.o: ../core/item.h ../core/error.h ../core/log.h ../core/user.h
notify.o: ../core/plugindata.h ../core/rebus.h ../core/compress.h
notify.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
notify.o: ../core/htmlfilter.h ../core/postmultiparser.h ../core/config.h
notify.o: ../core/system.h ../core/dirs.h ../core/dircontainer.h ../core/db.h
notify.o: ../core/group.h ../core/thread.h ../core/ugcontainer.h
notify.o: ../core/ticket.h ../core/mounts.h ../core/mount.h ../core/users.h
notify.o: ../core/htmlfilter.h ../templates/misc.h
notify.o: ../templates/localefilter.h ../core/locale.h ../core/notify.h
notify.o: ../templatesnotify/templatesnotify.h ../core/request.h
notify.o: ../core/requesttypes.h ../core/session.h ../core/item.h
notify.o: ../core/error.h ../core/log.h ../core/user.h ../core/plugindata.h
notify.o: ../core/rebus.h ../core/config.h ../core/system.h ../core/dirs.h
notify.o: ../core/dircontainer.h ../core/db.h ../core/group.h
notify.o: ../core/thread.h ../core/ugcontainer.h ../core/ticket.h
notify.o: ../core/mounts.h ../core/mount.h ../core/users.h
notify.o: ../core/lastcontainer.h ../core/groups.h ../core/loadavg.h
templatesnotify.o: templatesnotify.h ../../ezc/src/ezc.h ../core/mount.h
templatesnotify.o: ../core/locale.h ../core/confparser.h ../core/config.h
templatesnotify.o: ../templates/misc.h ../templates/localefilter.h
templatesnotify.o: ../core/locale.h ../core/misc.h ../core/item.h
templatesnotify.o: ../core/log.h
templatesnotify.o: ../core/htmlfilter.h ../templates/misc.h
templatesnotify.o: ../templates/localefilter.h ../core/locale.h
templatesnotify.o: ../core/misc.h ../core/item.h ../core/log.h