added: setting a correct mime type for static files - using magic library

added: std::wstring file_mime_type to ItemContent - a mime type for static file
added: Header (core/header.h) - there will be header names defined, at the moment only content_type
added: FuncionsBase::Finish() - it is called at the end when the winix finishes
This commit is contained in:
2021-09-22 00:23:25 +02:00
parent 26ed7b80be
commit 9c5c74ba84
29 changed files with 364 additions and 35 deletions

View File

@@ -83,6 +83,7 @@ account.o: ../../../winix/winixd/core/config.h
account.o: ../../../winix/winixd/core/textstream.h
account.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
account.o: ../../../winix/winixd/models/winixmodel.h
account.o: ../../../winix/winixd/core/header.h
account.o: ../../../winix/winixd/core/session.h
account.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
account.o: ../../../winix/winixd/core/system.h
@@ -222,6 +223,7 @@ adduser.o: ../../../winix/winixd/core/config.h
adduser.o: ../../../winix/winixd/core/textstream.h
adduser.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
adduser.o: ../../../winix/winixd/models/winixmodel.h
adduser.o: ../../../winix/winixd/core/header.h
adduser.o: ../../../winix/winixd/core/session.h
adduser.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
adduser.o: ../../../winix/winixd/core/system.h
@@ -353,6 +355,7 @@ cat.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
cat.o: ../../../winix/winixd/core/config.h
cat.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
cat.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
cat.o: ../../../winix/winixd/core/header.h
cat.o: ../../../winix/winixd/core/session.h
cat.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
cat.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -485,6 +488,7 @@ chmod.o: ../../../winix/winixd/core/config.h
chmod.o: ../../../winix/winixd/core/textstream.h
chmod.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
chmod.o: ../../../winix/winixd/models/winixmodel.h
chmod.o: ../../../winix/winixd/core/header.h
chmod.o: ../../../winix/winixd/core/session.h
chmod.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
chmod.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -617,6 +621,7 @@ chown.o: ../../../winix/winixd/core/config.h
chown.o: ../../../winix/winixd/core/textstream.h
chown.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
chown.o: ../../../winix/winixd/models/winixmodel.h
chown.o: ../../../winix/winixd/core/header.h
chown.o: ../../../winix/winixd/core/session.h
chown.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
chown.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -751,6 +756,7 @@ ckeditor.o: ../../../winix/winixd/core/config.h
ckeditor.o: ../../../winix/winixd/core/textstream.h
ckeditor.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
ckeditor.o: ../../../winix/winixd/models/winixmodel.h
ckeditor.o: ../../../winix/winixd/core/header.h
ckeditor.o: ../../../winix/winixd/core/session.h
ckeditor.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
ckeditor.o: ../../../winix/winixd/core/system.h
@@ -881,6 +887,7 @@ cp.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
cp.o: ../../../winix/winixd/core/config.h
cp.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
cp.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
cp.o: ../../../winix/winixd/core/header.h
cp.o: ../../../winix/winixd/core/session.h ../../../winix/winixd/core/rebus.h
cp.o: ipban.h mount.h ../../../winix/winixd/core/system.h
cp.o: ../../../winix/winixd/core/job.h
@@ -1015,6 +1022,7 @@ default.o: ../../../winix/winixd/core/config.h
default.o: ../../../winix/winixd/core/textstream.h
default.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
default.o: ../../../winix/winixd/models/winixmodel.h
default.o: ../../../winix/winixd/core/header.h
default.o: ../../../winix/winixd/core/session.h
default.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
default.o: ../../../winix/winixd/core/system.h
@@ -1153,6 +1161,7 @@ download.o: ../../../winix/winixd/core/config.h
download.o: ../../../winix/winixd/core/textstream.h
download.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
download.o: ../../../winix/winixd/models/winixmodel.h
download.o: ../../../winix/winixd/core/header.h
download.o: ../../../winix/winixd/core/session.h
download.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
download.o: ../../../winix/winixd/core/system.h
@@ -1289,6 +1298,7 @@ emacs.o: ../../../winix/winixd/core/config.h
emacs.o: ../../../winix/winixd/core/textstream.h
emacs.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
emacs.o: ../../../winix/winixd/models/winixmodel.h
emacs.o: ../../../winix/winixd/core/header.h
emacs.o: ../../../winix/winixd/core/session.h
emacs.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
emacs.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -1423,6 +1433,7 @@ env.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
env.o: ../../../winix/winixd/core/config.h
env.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
env.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
env.o: ../../../winix/winixd/core/header.h
env.o: ../../../winix/winixd/core/session.h
env.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
env.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -1557,6 +1568,7 @@ functionbase.o: ../../../winix/winixd/core/config.h
functionbase.o: ../../../winix/winixd/core/textstream.h
functionbase.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
functionbase.o: ../../../winix/winixd/models/winixmodel.h
functionbase.o: ../../../winix/winixd/core/header.h
functionbase.o: ../../../winix/winixd/core/session.h
functionbase.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
functionbase.o: ../../../winix/winixd/core/system.h
@@ -1711,6 +1723,7 @@ functionparser.o: ../../../winix/winixd/core/config.h
functionparser.o: ../../../winix/winixd/core/textstream.h
functionparser.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
functionparser.o: ../../../winix/winixd/models/winixmodel.h
functionparser.o: ../../../winix/winixd/core/header.h
functionparser.o: ../../../winix/winixd/core/mounts.h mount.h
functionparser.o: ../../../winix/winixd/core/mountparser.h
functionparser.o: ../../../winix/winixd/core/crypt.h run.h
@@ -1854,6 +1867,7 @@ functions.o: ../../../winix/winixd/core/error.h
functions.o: ../../../winix/winixd/core/config.h
functions.o: ../../../winix/winixd/core/textstream.h
functions.o: ../../../winix/winixd/models/winixmodel.h
functions.o: ../../../winix/winixd/core/header.h
functions.o: ../../../winix/winixd/core/mounts.h mount.h
functions.o: ../../../winix/winixd/core/mountparser.h
functions.o: ../../../winix/winixd/core/crypt.h run.h
@@ -1990,6 +2004,7 @@ imgcrop.o: ../../../winix/winixd/core/config.h
imgcrop.o: ../../../winix/winixd/core/textstream.h
imgcrop.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
imgcrop.o: ../../../winix/winixd/models/winixmodel.h
imgcrop.o: ../../../winix/winixd/core/header.h
imgcrop.o: ../../../winix/winixd/core/session.h
imgcrop.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
imgcrop.o: ../../../winix/winixd/core/system.h
@@ -2125,6 +2140,7 @@ ipban.o: ../../../winix/winixd/core/config.h
ipban.o: ../../../winix/winixd/core/textstream.h
ipban.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
ipban.o: ../../../winix/winixd/models/winixmodel.h
ipban.o: ../../../winix/winixd/core/header.h
ipban.o: ../../../winix/winixd/core/session.h
ipban.o: ../../../winix/winixd/core/rebus.h mount.h
ipban.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -2254,6 +2270,7 @@ last.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
last.o: ../../../winix/winixd/core/config.h
last.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
last.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
last.o: ../../../winix/winixd/core/header.h
last.o: ../../../winix/winixd/core/session.h
last.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
last.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -2380,6 +2397,7 @@ ln.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
ln.o: ../../../winix/winixd/core/config.h
ln.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
ln.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
ln.o: ../../../winix/winixd/core/header.h
ln.o: ../../../winix/winixd/core/session.h ../../../winix/winixd/core/rebus.h
ln.o: ipban.h mount.h ../../../winix/winixd/core/system.h
ln.o: ../../../winix/winixd/core/job.h
@@ -2513,6 +2531,7 @@ locale.o: ../../../winix/winixd/core/config.h
locale.o: ../../../winix/winixd/core/textstream.h
locale.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
locale.o: ../../../winix/winixd/models/winixmodel.h
locale.o: ../../../winix/winixd/core/header.h
locale.o: ../../../winix/winixd/core/session.h
locale.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
locale.o: ../../../winix/winixd/core/system.h
@@ -2658,6 +2677,7 @@ login.o: ../../../winix/winixd/core/config.h
login.o: ../../../winix/winixd/core/textstream.h
login.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
login.o: ../../../winix/winixd/models/winixmodel.h
login.o: ../../../winix/winixd/core/header.h
login.o: ../../../winix/winixd/core/mounts.h mount.h
login.o: ../../../winix/winixd/core/mountparser.h
login.o: ../../../winix/winixd/core/crypt.h run.h
@@ -2786,6 +2806,7 @@ logout.o: ../../../winix/winixd/core/config.h
logout.o: ../../../winix/winixd/core/textstream.h
logout.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
logout.o: ../../../winix/winixd/models/winixmodel.h
logout.o: ../../../winix/winixd/core/header.h
logout.o: ../../../winix/winixd/core/session.h
logout.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
logout.o: ../../../winix/winixd/core/system.h
@@ -2915,6 +2936,7 @@ ls.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
ls.o: ../../../winix/winixd/core/config.h
ls.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
ls.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
ls.o: ../../../winix/winixd/core/header.h
ls.o: ../../../winix/winixd/core/session.h ../../../winix/winixd/core/rebus.h
ls.o: ipban.h mount.h ../../../winix/winixd/core/system.h
ls.o: ../../../winix/winixd/core/job.h
@@ -3040,6 +3062,7 @@ man.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
man.o: ../../../winix/winixd/core/config.h
man.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
man.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
man.o: ../../../winix/winixd/core/header.h
man.o: ../../../winix/winixd/core/session.h
man.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
man.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -3168,6 +3191,7 @@ meta.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
meta.o: ../../../winix/winixd/core/config.h
meta.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
meta.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
meta.o: ../../../winix/winixd/core/header.h
meta.o: ../../../winix/winixd/core/session.h
meta.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
meta.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -3300,6 +3324,7 @@ mkdir.o: ../../../winix/winixd/core/config.h
mkdir.o: ../../../winix/winixd/core/textstream.h
mkdir.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
mkdir.o: ../../../winix/winixd/models/winixmodel.h
mkdir.o: ../../../winix/winixd/core/header.h
mkdir.o: ../../../winix/winixd/core/session.h
mkdir.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
mkdir.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -3433,6 +3458,7 @@ mount.o: ../../../winix/winixd/core/config.h
mount.o: ../../../winix/winixd/core/textstream.h
mount.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
mount.o: ../../../winix/winixd/models/winixmodel.h
mount.o: ../../../winix/winixd/core/header.h
mount.o: ../../../winix/winixd/core/session.h
mount.o: ../../../winix/winixd/core/rebus.h ipban.h
mount.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -3560,6 +3586,7 @@ mv.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
mv.o: ../../../winix/winixd/core/config.h
mv.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
mv.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
mv.o: ../../../winix/winixd/core/header.h
mv.o: ../../../winix/winixd/core/session.h ../../../winix/winixd/core/rebus.h
mv.o: ipban.h mount.h ../../../winix/winixd/core/system.h
mv.o: ../../../winix/winixd/core/job.h
@@ -3693,6 +3720,7 @@ nicedit.o: ../../../winix/winixd/core/config.h
nicedit.o: ../../../winix/winixd/core/textstream.h
nicedit.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
nicedit.o: ../../../winix/winixd/models/winixmodel.h
nicedit.o: ../../../winix/winixd/core/header.h
nicedit.o: ../../../winix/winixd/core/session.h
nicedit.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
nicedit.o: ../../../winix/winixd/core/system.h
@@ -3824,6 +3852,7 @@ node.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
node.o: ../../../winix/winixd/core/config.h
node.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
node.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
node.o: ../../../winix/winixd/core/header.h
node.o: ../../../winix/winixd/core/session.h
node.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
node.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -3956,6 +3985,7 @@ passwd.o: ../../../winix/winixd/core/config.h
passwd.o: ../../../winix/winixd/core/textstream.h
passwd.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
passwd.o: ../../../winix/winixd/models/winixmodel.h
passwd.o: ../../../winix/winixd/core/header.h
passwd.o: ../../../winix/winixd/core/session.h
passwd.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
passwd.o: ../../../winix/winixd/core/system.h
@@ -4088,6 +4118,7 @@ priv.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
priv.o: ../../../winix/winixd/core/config.h
priv.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
priv.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
priv.o: ../../../winix/winixd/core/header.h
priv.o: ../../../winix/winixd/core/session.h
priv.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
priv.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -4243,6 +4274,7 @@ privchanger.o: ../../../winix/winixd/core/config.h
privchanger.o: ../../../winix/winixd/core/textstream.h
privchanger.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
privchanger.o: ../../../winix/winixd/models/winixmodel.h
privchanger.o: ../../../winix/winixd/core/header.h
privchanger.o: ../../../winix/winixd/core/session.h
privchanger.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h account.h
privchanger.o: adduser.h cat.h chmod.h chown.h ckeditor.h cp.h default.h
@@ -4355,6 +4387,7 @@ pw.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
pw.o: ../../../winix/winixd/core/config.h
pw.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
pw.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
pw.o: ../../../winix/winixd/core/header.h
pw.o: ../../../winix/winixd/core/session.h ../../../winix/winixd/core/rebus.h
pw.o: ipban.h mount.h ../../../winix/winixd/core/system.h
pw.o: ../../../winix/winixd/core/job.h
@@ -4487,6 +4520,7 @@ reload.o: ../../../winix/winixd/core/config.h
reload.o: ../../../winix/winixd/core/textstream.h
reload.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
reload.o: ../../../winix/winixd/models/winixmodel.h
reload.o: ../../../winix/winixd/core/header.h
reload.o: ../../../winix/winixd/core/session.h
reload.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
reload.o: ../../../winix/winixd/core/system.h
@@ -4621,6 +4655,7 @@ rm.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
rm.o: ../../../winix/winixd/core/config.h
rm.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
rm.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
rm.o: ../../../winix/winixd/core/header.h
rm.o: ../../../winix/winixd/core/session.h ../../../winix/winixd/core/rebus.h
rm.o: ipban.h mount.h ../../../winix/winixd/core/system.h
rm.o: ../../../winix/winixd/core/job.h
@@ -4758,6 +4793,7 @@ rmuser.o: ../../../winix/winixd/core/config.h
rmuser.o: ../../../winix/winixd/core/textstream.h
rmuser.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
rmuser.o: ../../../winix/winixd/models/winixmodel.h
rmuser.o: ../../../winix/winixd/core/header.h
rmuser.o: ../../../winix/winixd/core/session.h
rmuser.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
rmuser.o: ../../../winix/winixd/core/system.h
@@ -4890,6 +4926,7 @@ run.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
run.o: ../../../winix/winixd/core/config.h
run.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
run.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
run.o: ../../../winix/winixd/core/header.h
run.o: ../../../winix/winixd/core/session.h
run.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
run.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -5017,6 +5054,7 @@ sort.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
sort.o: ../../../winix/winixd/core/config.h
sort.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
sort.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
sort.o: ../../../winix/winixd/core/header.h
sort.o: ../../../winix/winixd/core/session.h
sort.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
sort.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -5159,6 +5197,7 @@ specialdefault.o: ../../../winix/winixd/core/config.h
specialdefault.o: ../../../winix/winixd/core/textstream.h
specialdefault.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
specialdefault.o: ../../../winix/winixd/models/winixmodel.h
specialdefault.o: ../../../winix/winixd/core/header.h
specialdefault.o: ../../../winix/winixd/core/session.h
specialdefault.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
specialdefault.o: ../../../winix/winixd/core/system.h
@@ -5292,6 +5331,7 @@ stat.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
stat.o: ../../../winix/winixd/core/config.h
stat.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
stat.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
stat.o: ../../../winix/winixd/core/header.h
stat.o: ../../../winix/winixd/core/session.h
stat.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
stat.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -5426,6 +5466,7 @@ subject.o: ../../../winix/winixd/core/config.h
subject.o: ../../../winix/winixd/core/textstream.h
subject.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
subject.o: ../../../winix/winixd/models/winixmodel.h
subject.o: ../../../winix/winixd/core/header.h
subject.o: ../../../winix/winixd/core/session.h
subject.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
subject.o: ../../../winix/winixd/core/system.h
@@ -5563,6 +5604,7 @@ template.o: ../../../winix/winixd/core/config.h
template.o: ../../../winix/winixd/core/textstream.h
template.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
template.o: ../../../winix/winixd/models/winixmodel.h
template.o: ../../../winix/winixd/core/header.h
template.o: ../../../winix/winixd/core/session.h
template.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
template.o: ../../../winix/winixd/core/system.h
@@ -5701,6 +5743,7 @@ timezone.o: ../../../winix/winixd/core/config.h
timezone.o: ../../../winix/winixd/core/textstream.h
timezone.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
timezone.o: ../../../winix/winixd/models/winixmodel.h
timezone.o: ../../../winix/winixd/core/header.h
timezone.o: ../../../winix/winixd/core/session.h
timezone.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
timezone.o: ../../../winix/winixd/core/system.h
@@ -5838,6 +5881,7 @@ tinymce.o: ../../../winix/winixd/core/config.h
tinymce.o: ../../../winix/winixd/core/textstream.h
tinymce.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
tinymce.o: ../../../winix/winixd/models/winixmodel.h
tinymce.o: ../../../winix/winixd/core/header.h
tinymce.o: ../../../winix/winixd/core/session.h
tinymce.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
tinymce.o: ../../../winix/winixd/core/system.h
@@ -5973,6 +6017,7 @@ uname.o: ../../../winix/winixd/core/config.h
uname.o: ../../../winix/winixd/core/textstream.h
uname.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
uname.o: ../../../winix/winixd/models/winixmodel.h
uname.o: ../../../winix/winixd/core/header.h
uname.o: ../../../winix/winixd/core/session.h
uname.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
uname.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -6106,6 +6151,7 @@ upload.o: ../../../winix/winixd/core/config.h
upload.o: ../../../winix/winixd/core/textstream.h
upload.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
upload.o: ../../../winix/winixd/models/winixmodel.h
upload.o: ../../../winix/winixd/core/header.h
upload.o: ../../../winix/winixd/core/session.h
upload.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
upload.o: ../../../winix/winixd/core/system.h
@@ -6248,6 +6294,7 @@ uptime.o: ../../../winix/winixd/core/config.h
uptime.o: ../../../winix/winixd/core/textstream.h
uptime.o: ../../../ezc/src/outstreams.h ../../../ezc/src/models.h
uptime.o: ../../../winix/winixd/models/winixmodel.h
uptime.o: ../../../winix/winixd/core/header.h
uptime.o: ../../../winix/winixd/core/session.h
uptime.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
uptime.o: ../../../winix/winixd/core/system.h
@@ -6377,6 +6424,7 @@ vim.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
vim.o: ../../../winix/winixd/core/config.h
vim.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
vim.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
vim.o: ../../../winix/winixd/core/header.h
vim.o: ../../../winix/winixd/core/session.h
vim.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
vim.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h
@@ -6503,6 +6551,7 @@ who.o: ../../../ezc/src/funinfo.h ../../../winix/winixd/core/error.h
who.o: ../../../winix/winixd/core/config.h
who.o: ../../../winix/winixd/core/textstream.h ../../../ezc/src/outstreams.h
who.o: ../../../ezc/src/models.h ../../../winix/winixd/models/winixmodel.h
who.o: ../../../winix/winixd/core/header.h
who.o: ../../../winix/winixd/core/session.h
who.o: ../../../winix/winixd/core/rebus.h ipban.h mount.h
who.o: ../../../winix/winixd/core/system.h ../../../winix/winixd/core/job.h

View File

@@ -73,6 +73,9 @@ void Download::MakeGet()
cur->request->send_as_attachment = cur->request->IsParam(L"attachment");
bool is_thumb = (cur->request->item.item_content.file_has_thumb && cur->request->IsParam(L"thumb"));
if( !cur->request->item.item_content.file_mime_type.empty() )
cur->request->out_headers.add(Header::content_type, cur->request->item.item_content.file_mime_type);
if( config->send_file_mode == 0 || config->send_file_mode == 1 )
{
system->MakeFilePath(cur->request->item, cur->request->x_sendfile, is_thumb);
@@ -84,9 +87,9 @@ void Download::MakeGet()
if( !GetBinaryFile(cur->request->x_sendfile, cur->request->out_bin_stream) )
{
log << log1 << "Download: I cannot read the content of the file: " << cur->request->x_sendfile << logend;
// may it would be good to return a html page with an error?
}
// IMPROVEME it would be good to set Content-Type header too
cur->request->x_sendfile.clear();
cur->request->send_bin_stream = true;
}

View File

@@ -124,6 +124,13 @@ void FunctionBase::Init()
}
void FunctionBase::Finish()
{
// this method is called only once at the end
// when winix finishes
}
bool FunctionBase::HasAccess()
{
// true by default

View File

@@ -92,12 +92,15 @@ public:
virtual void Init();
virtual void Finish();
virtual bool HasAccess();
virtual void MakePost();
virtual void MakeGet();
virtual void MakeDelete();
virtual void Clear();
//void SetConfig(Config * pconfig);
//void SetCur(Cur * pcur);
void SetDb(Db * pdb);

View File

@@ -286,6 +286,15 @@ void Functions::InitFunctions()
}
void Functions::FinishFunctions()
{
Table::iterator i = table.begin();
for( ; i!=table.end() ; ++i)
i->second->Finish();
}
void Functions::Init()
{
CreateFunctions();
@@ -293,6 +302,12 @@ void Functions::Init()
}
void Functions::Finish()
{
FinishFunctions();
}
void Functions::Parse()
{
function_parser.Parse(cur, db, this, system);

View File

@@ -149,6 +149,7 @@ public:
typedef Table::iterator Iterator;
void Init();
void Finish();
void Parse();
size_t FunctionsSize();
@@ -210,6 +211,7 @@ private:
void CreateFunctions();
void InitFunctions();
void FinishFunctions();
void SetObjects(FunctionBase * fun);
void SetDefaultFunctionForFile();

View File

@@ -62,6 +62,12 @@ void Upload::Init()
}
void Upload::Finish()
{
CloseMagicLib();
}
bool Upload::HasAccess(const Item & item)
{
// you can use 'upload' only in a directory
@@ -229,6 +235,7 @@ void Upload::UploadMulti()
cur->request->item.item_content.file_size = i->second.file_size;
functions->PrepareUrl(cur->request->item);
AnalizeFileType(i->second.tmp_filename, cur->request->item.item_content.file_mime_type);
UploadFile(cur->request->item, i->second.tmp_filename);
i->second.tmp_filename.clear();
}
@@ -268,6 +275,7 @@ void Upload::UploadSingle()
functions->PrepareUrl(cur->request->item);
}
AnalizeFileType(post_file.tmp_filename, cur->request->item.item_content.file_mime_type);
UploadFile(cur->request->item, post_file.tmp_filename);
post_file.tmp_filename.clear();
@@ -279,10 +287,89 @@ void Upload::UploadSingle()
}
void Upload::InitMagicLibIfNeeded()
{
if( !magic_cookie )
{
log << log3 << "Upload: loading magic library" << logend;
magic_cookie = magic_open(MAGIC_MIME_TYPE);
if( magic_cookie )
{
if( magic_load(magic_cookie, nullptr) < 0 )
{
log << log1 << "Upload: I cannot load the magic file, magic_load failed";
const char * err = magic_error(magic_cookie);
if( err )
{
log << ", error: " << err;
}
log << logend;
CloseMagicLib();
}
}
else
{
log << log1 << "Upload: I cannot initialize magic library, magic_open failed" << logend;
}
}
}
void Upload::CloseMagicLib()
{
if( magic_cookie )
{
log << log3 << "Upload: closing magic library" << logend;
magic_close(magic_cookie);
magic_cookie = nullptr;
}
}
void Upload::AnalizeFileType(const std::wstring & file_path, std::wstring & file_type)
{
file_type.clear();
if( magic_cookie )
{
std::string file;
pt::wide_to_utf8(file_path, file);
log << log3 << "Upload: analize file: " << file;
const char * magic_file_type = magic_file(magic_cookie, file.c_str());
if( magic_file_type )
{
log << ", mime type is: " << magic_file_type << logend;
pt::utf8_to_wide(magic_file_type, file_type);
}
else
{
log << logend << log1 << "Upload: I cannot analize file: " << file << ", magic_file failed";
const char * err = magic_error(magic_cookie);
if( err )
{
log << ", error: " << err;
}
log << logend;
}
}
else
{
log << log1 << "Upload: magic library not initialized" << logend;
}
}
void Upload::MakePost()
{
InitMagicLibIfNeeded();
cur->request->item_tab.clear();
is_jquery_upload = cur->request->IsParam(L"jquery_upload");
@@ -299,6 +386,7 @@ void Upload::MakePost()
UploadMulti();
else
UploadSingle();
}

View File

@@ -36,6 +36,7 @@
#define headerfile_winix_functions_upload
#include "functionbase.h"
#include <magic.h>
namespace Winix
@@ -61,8 +62,10 @@ private:
std::wstring path;
//DbItemQuery query;
bool is_jquery_upload;
magic_t magic_cookie;
void Init();
void Finish();
bool HasAccess(const Item & item);
bool UploadSaveStaticFile(const Item & item, const std::wstring & tmp_filename);
@@ -72,6 +75,12 @@ private:
void ResizeImage(Item & item);
void CreateThumb(Item & item);
void CreateAnswer();
void InitMagicLibIfNeeded();
void CloseMagicLib();
void AnalizeFileType(const std::wstring & file_path, std::wstring & file_type);
};