changed: now we do not use std::string and char* in the Winix API

everywhere we are using std::wstring and wchar_t*
         (std::string and char* is used only locally in some places
         especially when creating a path to OS file system etc.)
added:   to the special thread when winix closes:
         a write function for curl: FetchPageOnExitCurlCallback()
         without this function the curl library will print
         the page's content to the standart output
changed: TextStream<> class from core can make
         UTF8<->wide strings conversions
removed: from config: utf8 option
         now winix expects UTF8 from the user's input (html forms, url-es)
         and outputs strings in the UTF8 format




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@965 e52654a7-88a9-db11-a3e9-0013d4bc506e
pull/3/head 0.6.3
Tomasz Sowa 8 years ago
parent 4abf6642f7
commit 8196fb77d1

File diff suppressed because one or more lines are too long

@ -1,6 +1,15 @@
# DO NOT DELETE
acceptbaseparser.o: acceptbaseparser.h
acceptbaseparser.o: acceptbaseparser.h misc.h item.h
acceptbaseparser.o: ../../pikotools/space/space.h
acceptbaseparser.o: ../../pikotools/textstream/types.h
acceptbaseparser.o: ../../pikotools/date/date.h requesttypes.h
acceptbaseparser.o: ../../pikotools/textstream/textstream.h
acceptbaseparser.o: ../../pikotools/convert/convert.h
acceptbaseparser.o: ../../pikotools/convert/inttostr.h
acceptbaseparser.o: ../../pikotools/membuffer/membuffer.h
acceptbaseparser.o: ../../pikotools/textstream/types.h
acceptbaseparser.o: ../../pikotools/utf8/utf8.h winix_const.h
app.o: app.h config.h ../../pikotools/space/spaceparser.h
app.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
app.o: htmlfilter.h system.h job.h basethread.h synchro.h
@ -12,7 +21,7 @@ app.o: requesttypes.h ../../pikotools/textstream/textstream.h
app.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
app.o: ../../pikotools/membuffer/membuffer.h
app.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
app.o: ../../winix/core/error.h ../../winix/db/dbitemquery.h
app.o: winix_const.h ../../winix/core/error.h ../../winix/db/dbitemquery.h
app.o: ../../winix/core/item.h ../../winix/db/dbitemcolumns.h
app.o: ../../winix/core/user.h ../../winix/core/group.h
app.o: ../../winix/core/dircontainer.h ../../winix/core/ugcontainer.h log.h
@ -66,18 +75,18 @@ app.o: postmultiparser.h acceptencodingparser.h acceptbaseparser.h
basethread.o: basethread.h synchro.h
bbcodeparser.o: bbcodeparser.h htmlfilter.h
compress.o: compress.h requesttypes.h ../../pikotools/textstream/textstream.h
compress.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
compress.o: ../../pikotools/convert/convert.h
compress.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
compress.o: ../../pikotools/date/date.h ../../pikotools/convert/convert.h
compress.o: ../../pikotools/convert/inttostr.h
compress.o: ../../pikotools/membuffer/membuffer.h
compress.o: ../../pikotools/textstream/types.h log.h textstream.h
compress.o: logmanipulators.h slog.h cur.h request.h item.h error.h config.h
compress.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
compress.o: ../../pikotools/textstream/types.h htmlfilter.h
compress.o: ../../winix/templates/htmltextstream.h
compress.o: htmlfilter.h ../../winix/templates/htmltextstream.h
compress.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
compress.o: ../../pikotools/space/spacetojson.h session.h user.h plugindata.h
compress.o: rebus.h ipban.h mount.h ../../winix/templates/locale.h
compress.o: winix_const.h ../../pikotools/space/spacetojson.h session.h
compress.o: user.h plugindata.h rebus.h ipban.h mount.h
compress.o: ../../winix/templates/locale.h
config.o: config.h ../../pikotools/space/spaceparser.h
config.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
config.o: htmlfilter.h log.h textstream.h logmanipulators.h
@ -90,9 +99,9 @@ config.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
config.o: requesttypes.h item.h error.h
config.o: ../../winix/templates/htmltextstream.h
config.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
config.o: ../../pikotools/space/spacetojson.h session.h user.h plugindata.h
config.o: rebus.h ipban.h mount.h ../../winix/templates/locale.h plugin.h
config.o: pluginmsg.h system.h job.h basethread.h synchro.h dirs.h
config.o: winix_const.h ../../pikotools/space/spacetojson.h session.h user.h
config.o: plugindata.h rebus.h ipban.h mount.h ../../winix/templates/locale.h
config.o: plugin.h pluginmsg.h system.h job.h basethread.h synchro.h dirs.h
config.o: dircontainer.h ../../winix/db/db.h ../../winix/db/dbbase.h
config.o: ../../winix/db/dbconn.h ../../winix/db/dbtextstream.h
config.o: ../../winix/core/error.h ../../winix/db/dbitemquery.h
@ -151,10 +160,11 @@ crypt.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
crypt.o: ../../pikotools/membuffer/membuffer.h
crypt.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
crypt.o: requesttypes.h item.h error.h ../../winix/templates/htmltextstream.h
crypt.o: ../../winix/core/textstream.h misc.h
crypt.o: ../../winix/core/textstream.h misc.h winix_const.h
crypt.o: ../../pikotools/space/spacetojson.h session.h plugindata.h rebus.h
crypt.o: ipban.h mount.h ../../winix/templates/locale.h
dircontainer.o: dircontainer.h item.h ../../pikotools/space/space.h
dircontainer.o: ../../pikotools/textstream/types.h
dircontainer.o: ../../pikotools/date/date.h log.h textstream.h
dircontainer.o: logmanipulators.h ../../pikotools/textstream/textstream.h
dircontainer.o: ../../pikotools/convert/convert.h
@ -163,24 +173,24 @@ dircontainer.o: ../../pikotools/membuffer/membuffer.h
dircontainer.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
dircontainer.o: requesttypes.h error.h config.h
dircontainer.o: ../../pikotools/space/spaceparser.h
dircontainer.o: ../../pikotools/space/space.h
dircontainer.o: ../../pikotools/textstream/types.h htmlfilter.h
dircontainer.o: ../../pikotools/space/space.h htmlfilter.h
dircontainer.o: ../../winix/templates/htmltextstream.h
dircontainer.o: ../../winix/core/textstream.h misc.h
dircontainer.o: ../../pikotools/utf8/utf8.h
dircontainer.o: ../../pikotools/utf8/utf8.h winix_const.h
dircontainer.o: ../../pikotools/space/spacetojson.h session.h user.h
dircontainer.o: plugindata.h rebus.h ipban.h mount.h
dircontainer.o: ../../winix/templates/locale.h
dirs.o: dirs.h item.h ../../pikotools/space/space.h
dirs.o: ../../pikotools/date/date.h dircontainer.h ../../winix/db/db.h
dirs.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
dirs.o: ../../winix/db/dbtextstream.h ../../winix/core/textstream.h misc.h
dirs.o: requesttypes.h ../../pikotools/textstream/textstream.h
dirs.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
dirs.o: dircontainer.h ../../winix/db/db.h ../../winix/db/dbbase.h
dirs.o: ../../winix/db/dbconn.h ../../winix/db/dbtextstream.h
dirs.o: ../../winix/core/textstream.h misc.h requesttypes.h
dirs.o: ../../pikotools/textstream/textstream.h
dirs.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
dirs.o: ../../pikotools/membuffer/membuffer.h
dirs.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
dirs.o: ../../winix/core/error.h ../../pikotools/space/spaceparser.h
dirs.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
dirs.o: winix_const.h ../../winix/core/error.h
dirs.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
dirs.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
dirs.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
dirs.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
@ -201,14 +211,15 @@ dirs.o: lastcontainer.h
groups.o: groups.h group.h ugcontainer.h ../../winix/db/db.h
groups.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
groups.o: ../../winix/db/dbtextstream.h ../../winix/core/textstream.h misc.h
groups.o: item.h ../../pikotools/space/space.h ../../pikotools/date/date.h
groups.o: item.h ../../pikotools/space/space.h
groups.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
groups.o: requesttypes.h ../../pikotools/textstream/textstream.h
groups.o: ../../pikotools/convert/convert.h
groups.o: ../../pikotools/convert/inttostr.h
groups.o: ../../pikotools/membuffer/membuffer.h
groups.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
groups.o: ../../winix/core/error.h ../../pikotools/space/spaceparser.h
groups.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
groups.o: winix_const.h ../../winix/core/error.h
groups.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
groups.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
groups.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
groups.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
@ -218,17 +229,27 @@ groups.o: ../../winix/templates/htmltextstream.h
groups.o: ../../pikotools/space/spacetojson.h session.h user.h plugindata.h
groups.o: rebus.h ipban.h mount.h ../../winix/templates/locale.h
htmlfilter.o: htmlfilter.h
httpsimpleparser.o: httpsimpleparser.h
httpsimpleparser.o: httpsimpleparser.h misc.h item.h
httpsimpleparser.o: ../../pikotools/space/space.h
httpsimpleparser.o: ../../pikotools/textstream/types.h
httpsimpleparser.o: ../../pikotools/date/date.h requesttypes.h
httpsimpleparser.o: ../../pikotools/textstream/textstream.h
httpsimpleparser.o: ../../pikotools/convert/convert.h
httpsimpleparser.o: ../../pikotools/convert/inttostr.h
httpsimpleparser.o: ../../pikotools/membuffer/membuffer.h
httpsimpleparser.o: ../../pikotools/textstream/types.h
httpsimpleparser.o: ../../pikotools/utf8/utf8.h winix_const.h
image.o: image.h basethread.h synchro.h textstream.h ../../winix/db/db.h
image.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
image.o: ../../winix/db/dbtextstream.h ../../winix/core/textstream.h misc.h
image.o: item.h ../../pikotools/space/space.h ../../pikotools/date/date.h
image.o: item.h ../../pikotools/space/space.h
image.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
image.o: requesttypes.h ../../pikotools/textstream/textstream.h
image.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
image.o: ../../pikotools/membuffer/membuffer.h
image.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
image.o: ../../winix/core/error.h ../../pikotools/space/spaceparser.h
image.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
image.o: winix_const.h ../../winix/core/error.h
image.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
image.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
image.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
image.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
@ -283,42 +304,45 @@ image.o: ../../winix/templates/htmltextstream.h
image.o: ../../winix/core/sessionmanager.h lock.h
ipbancontainer.o: ipbancontainer.h ipban.h log.h textstream.h
ipbancontainer.o: logmanipulators.h ../../pikotools/textstream/textstream.h
ipbancontainer.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
ipbancontainer.o: ../../pikotools/space/space.h
ipbancontainer.o: ../../pikotools/textstream/types.h
ipbancontainer.o: ../../pikotools/date/date.h
ipbancontainer.o: ../../pikotools/convert/convert.h
ipbancontainer.o: ../../pikotools/convert/inttostr.h
ipbancontainer.o: ../../pikotools/membuffer/membuffer.h
ipbancontainer.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
ipbancontainer.o: requesttypes.h item.h error.h config.h
ipbancontainer.o: ../../pikotools/space/spaceparser.h
ipbancontainer.o: ../../pikotools/space/space.h
ipbancontainer.o: ../../pikotools/textstream/types.h htmlfilter.h
ipbancontainer.o: ../../pikotools/space/space.h htmlfilter.h
ipbancontainer.o: ../../winix/templates/htmltextstream.h
ipbancontainer.o: ../../winix/core/textstream.h misc.h
ipbancontainer.o: ../../pikotools/utf8/utf8.h
ipbancontainer.o: ../../pikotools/utf8/utf8.h winix_const.h
ipbancontainer.o: ../../pikotools/space/spacetojson.h session.h user.h
ipbancontainer.o: plugindata.h rebus.h mount.h ../../winix/templates/locale.h
item.o: item.h ../../pikotools/space/space.h ../../pikotools/date/date.h
item.o: misc.h requesttypes.h ../../pikotools/textstream/textstream.h
item.o: item.h ../../pikotools/space/space.h
item.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h misc.h
item.o: requesttypes.h ../../pikotools/textstream/textstream.h
item.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
item.o: ../../pikotools/membuffer/membuffer.h
item.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
item.o: crypt.h run.h config.h ../../pikotools/space/spaceparser.h
item.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
item.o: winix_const.h crypt.h run.h config.h
item.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
item.o: htmlfilter.h user.h
job.o: job.h basethread.h synchro.h ../../pikotools/space/space.h plugin.h
job.o: pluginmsg.h log.h textstream.h logmanipulators.h
job.o: ../../pikotools/textstream/textstream.h ../../pikotools/date/date.h
job.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
job.o: job.h basethread.h synchro.h ../../pikotools/space/space.h
job.o: ../../pikotools/textstream/types.h plugin.h pluginmsg.h log.h
job.o: textstream.h logmanipulators.h ../../pikotools/textstream/textstream.h
job.o: ../../pikotools/date/date.h ../../pikotools/convert/convert.h
job.o: ../../pikotools/convert/inttostr.h
job.o: ../../pikotools/membuffer/membuffer.h
job.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
job.o: requesttypes.h item.h error.h config.h
job.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
job.o: ../../pikotools/textstream/types.h htmlfilter.h
job.o: ../../winix/templates/htmltextstream.h ../../winix/core/textstream.h
job.o: misc.h ../../pikotools/utf8/utf8.h ../../pikotools/space/spacetojson.h
job.o: session.h user.h plugindata.h rebus.h ipban.h mount.h
job.o: ../../winix/templates/locale.h system.h dirs.h dircontainer.h
job.o: ../../winix/db/db.h ../../winix/db/dbbase.h ../../winix/db/dbconn.h
job.o: htmlfilter.h ../../winix/templates/htmltextstream.h
job.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
job.o: winix_const.h ../../pikotools/space/spacetojson.h session.h user.h
job.o: plugindata.h rebus.h ipban.h mount.h ../../winix/templates/locale.h
job.o: system.h dirs.h dircontainer.h ../../winix/db/db.h
job.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
job.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
job.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
job.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
@ -368,62 +392,62 @@ lastcontainer.o: lastcontainer.h ../../pikotools/date/date.h log.h
lastcontainer.o: textstream.h logmanipulators.h
lastcontainer.o: ../../pikotools/textstream/textstream.h
lastcontainer.o: ../../pikotools/space/space.h
lastcontainer.o: ../../pikotools/textstream/types.h
lastcontainer.o: ../../pikotools/convert/convert.h
lastcontainer.o: ../../pikotools/convert/inttostr.h
lastcontainer.o: ../../pikotools/membuffer/membuffer.h
lastcontainer.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
lastcontainer.o: requesttypes.h item.h error.h config.h
lastcontainer.o: ../../pikotools/space/spaceparser.h
lastcontainer.o: ../../pikotools/space/space.h
lastcontainer.o: ../../pikotools/textstream/types.h htmlfilter.h
lastcontainer.o: ../../pikotools/space/space.h htmlfilter.h
lastcontainer.o: ../../winix/templates/htmltextstream.h
lastcontainer.o: ../../winix/core/textstream.h misc.h
lastcontainer.o: ../../pikotools/utf8/utf8.h
lastcontainer.o: ../../pikotools/utf8/utf8.h winix_const.h
lastcontainer.o: ../../pikotools/space/spacetojson.h session.h user.h
lastcontainer.o: plugindata.h rebus.h ipban.h mount.h
lastcontainer.o: ../../winix/templates/locale.h
loadavg.o: loadavg.h log.h textstream.h logmanipulators.h
loadavg.o: ../../pikotools/textstream/textstream.h
loadavg.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
loadavg.o: ../../pikotools/convert/convert.h
loadavg.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
loadavg.o: ../../pikotools/date/date.h ../../pikotools/convert/convert.h
loadavg.o: ../../pikotools/convert/inttostr.h
loadavg.o: ../../pikotools/membuffer/membuffer.h
loadavg.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
loadavg.o: requesttypes.h item.h error.h config.h
loadavg.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
loadavg.o: ../../pikotools/textstream/types.h htmlfilter.h
loadavg.o: ../../winix/templates/htmltextstream.h
loadavg.o: htmlfilter.h ../../winix/templates/htmltextstream.h
loadavg.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
loadavg.o: ../../pikotools/space/spacetojson.h session.h user.h plugindata.h
loadavg.o: rebus.h ipban.h mount.h ../../winix/templates/locale.h
loadavg.o: winix_const.h ../../pikotools/space/spacetojson.h session.h user.h
loadavg.o: plugindata.h rebus.h ipban.h mount.h
loadavg.o: ../../winix/templates/locale.h
lock.o: lock.h synchro.h
log.o: log.h textstream.h logmanipulators.h
log.o: ../../pikotools/textstream/textstream.h ../../pikotools/space/space.h
log.o: ../../pikotools/date/date.h ../../pikotools/convert/convert.h
log.o: ../../pikotools/convert/inttostr.h
log.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
log.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
log.o: ../../pikotools/membuffer/membuffer.h
log.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
log.o: requesttypes.h item.h error.h config.h
log.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
log.o: ../../pikotools/textstream/types.h htmlfilter.h
log.o: ../../winix/templates/htmltextstream.h ../../winix/core/textstream.h
log.o: misc.h ../../pikotools/utf8/utf8.h ../../pikotools/space/spacetojson.h
log.o: session.h user.h plugindata.h rebus.h ipban.h mount.h
log.o: ../../winix/templates/locale.h timezones.h timezone.h
log.o: htmlfilter.h ../../winix/templates/htmltextstream.h
log.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
log.o: winix_const.h ../../pikotools/space/spacetojson.h session.h user.h
log.o: plugindata.h rebus.h ipban.h mount.h ../../winix/templates/locale.h
log.o: timezones.h timezone.h
misc.o: misc.h item.h ../../pikotools/space/space.h
misc.o: ../../pikotools/date/date.h requesttypes.h
misc.o: ../../pikotools/textstream/textstream.h
misc.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
misc.o: requesttypes.h ../../pikotools/textstream/textstream.h
misc.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
misc.o: ../../pikotools/membuffer/membuffer.h
misc.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h log.h
misc.o: textstream.h logmanipulators.h slog.h cur.h request.h error.h
misc.o: config.h ../../pikotools/space/spaceparser.h
misc.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
misc.o: htmlfilter.h ../../winix/templates/htmltextstream.h
misc.o: ../../winix/core/textstream.h ../../pikotools/space/spacetojson.h
misc.o: session.h user.h plugindata.h rebus.h ipban.h mount.h
misc.o: ../../winix/templates/locale.h ../../winix/templates/templates.h
misc.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h ../../ezc/src/pattern.h
misc.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
misc.o: winix_const.h log.h textstream.h logmanipulators.h slog.h cur.h
misc.o: request.h error.h config.h ../../pikotools/space/spaceparser.h
misc.o: ../../pikotools/space/space.h htmlfilter.h
misc.o: ../../winix/templates/htmltextstream.h ../../winix/core/textstream.h
misc.o: ../../pikotools/space/spacetojson.h session.h user.h plugindata.h
misc.o: rebus.h ipban.h mount.h ../../winix/templates/locale.h
misc.o: ../../winix/templates/templates.h ../../ezc/src/ezc.h
misc.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
misc.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
misc.o: ../../ezc/src/stringconv.h ../../winix/templates/patterncacher.h
misc.o: ../../winix/core/item.h ../../winix/templates/indexpatterns.h
@ -439,30 +463,31 @@ misc.o: ../../winix/db/dbitemquery.h ../../winix/db/dbitemcolumns.h
misc.o: ../../winix/core/user.h ../../winix/core/group.h
misc.o: ../../winix/core/dircontainer.h ../../winix/core/ugcontainer.h
mount.o: mount.h misc.h item.h ../../pikotools/space/space.h
mount.o: ../../pikotools/date/date.h requesttypes.h
mount.o: ../../pikotools/textstream/textstream.h
mount.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
mount.o: requesttypes.h ../../pikotools/textstream/textstream.h
mount.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
mount.o: ../../pikotools/membuffer/membuffer.h
mount.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
mount.o: winix_const.h
mountparser.o: mountparser.h mount.h item.h ../../pikotools/space/space.h
mountparser.o: ../../pikotools/date/date.h dirs.h dircontainer.h
mountparser.o: ../../winix/db/db.h ../../winix/db/dbbase.h
mountparser.o: ../../winix/db/dbconn.h ../../winix/db/dbtextstream.h
mountparser.o: ../../winix/core/textstream.h misc.h requesttypes.h
mountparser.o: ../../pikotools/textstream/textstream.h
mountparser.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
mountparser.o: dirs.h dircontainer.h ../../winix/db/db.h
mountparser.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
mountparser.o: ../../winix/db/dbtextstream.h ../../winix/core/textstream.h
mountparser.o: misc.h requesttypes.h ../../pikotools/textstream/textstream.h
mountparser.o: ../../pikotools/convert/convert.h
mountparser.o: ../../pikotools/convert/inttostr.h
mountparser.o: ../../pikotools/membuffer/membuffer.h
mountparser.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
mountparser.o: ../../winix/core/error.h ../../pikotools/space/spaceparser.h
mountparser.o: ../../pikotools/space/space.h
mountparser.o: ../../pikotools/textstream/types.h
mountparser.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
mountparser.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
mountparser.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
mountparser.o: ../../winix/core/ugcontainer.h log.h textstream.h
mountparser.o: logmanipulators.h slog.h cur.h request.h error.h config.h
mountparser.o: htmlfilter.h ../../winix/templates/htmltextstream.h
mountparser.o: winix_const.h ../../winix/core/error.h
mountparser.o: ../../pikotools/space/spaceparser.h
mountparser.o: ../../pikotools/space/space.h ../../winix/db/dbitemquery.h
mountparser.o: ../../winix/core/item.h ../../winix/db/dbitemcolumns.h
mountparser.o: ../../winix/core/user.h ../../winix/core/group.h
mountparser.o: ../../winix/core/dircontainer.h ../../winix/core/ugcontainer.h
mountparser.o: log.h textstream.h logmanipulators.h slog.h cur.h request.h
mountparser.o: error.h config.h htmlfilter.h
mountparser.o: ../../winix/templates/htmltextstream.h
mountparser.o: ../../pikotools/space/spacetojson.h session.h user.h
mountparser.o: plugindata.h rebus.h ipban.h ../../winix/templates/locale.h
mountparser.o: ../../winix/notify/notify.h ../../winix/notify/notifypool.h
@ -476,17 +501,17 @@ mountparser.o: ../../winix/core/basethread.h
mountparser.o: ../../winix/notify/templatesnotify.h ../../winix/core/config.h
mountparser.o: ../../winix/core/users.h ugcontainer.h lastcontainer.h
mounts.o: mounts.h mount.h error.h dirs.h item.h
mounts.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
mounts.o: dircontainer.h ../../winix/db/db.h ../../winix/db/dbbase.h
mounts.o: ../../winix/db/dbconn.h ../../winix/db/dbtextstream.h
mounts.o: ../../winix/core/textstream.h misc.h requesttypes.h
mounts.o: ../../pikotools/textstream/textstream.h
mounts.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
mounts.o: ../../pikotools/date/date.h dircontainer.h ../../winix/db/db.h
mounts.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
mounts.o: ../../winix/db/dbtextstream.h ../../winix/core/textstream.h misc.h
mounts.o: requesttypes.h ../../pikotools/textstream/textstream.h
mounts.o: ../../pikotools/convert/convert.h
mounts.o: ../../pikotools/convert/inttostr.h
mounts.o: ../../pikotools/membuffer/membuffer.h
mounts.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
mounts.o: ../../winix/core/error.h ../../pikotools/space/spaceparser.h
mounts.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
mounts.o: winix_const.h ../../winix/core/error.h
mounts.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
mounts.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
mounts.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
mounts.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
@ -541,19 +566,18 @@ mounts.o: ../../winix/templates/htmltextstream.h
mounts.o: ../../winix/core/sessionmanager.h
plugin.o: plugin.h pluginmsg.h log.h textstream.h logmanipulators.h
plugin.o: ../../pikotools/textstream/textstream.h
plugin.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
plugin.o: ../../pikotools/convert/convert.h
plugin.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
plugin.o: ../../pikotools/date/date.h ../../pikotools/convert/convert.h
plugin.o: ../../pikotools/convert/inttostr.h
plugin.o: ../../pikotools/membuffer/membuffer.h
plugin.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
plugin.o: requesttypes.h item.h error.h config.h
plugin.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
plugin.o: ../../pikotools/textstream/types.h htmlfilter.h
plugin.o: ../../winix/templates/htmltextstream.h
plugin.o: htmlfilter.h ../../winix/templates/htmltextstream.h
plugin.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
plugin.o: ../../pikotools/space/spacetojson.h session.h user.h plugindata.h
plugin.o: rebus.h ipban.h mount.h ../../winix/templates/locale.h system.h
plugin.o: job.h basethread.h synchro.h dirs.h dircontainer.h
plugin.o: winix_const.h ../../pikotools/space/spacetojson.h session.h user.h
plugin.o: plugindata.h rebus.h ipban.h mount.h ../../winix/templates/locale.h
plugin.o: system.h job.h basethread.h synchro.h dirs.h dircontainer.h
plugin.o: ../../winix/db/db.h ../../winix/db/dbbase.h ../../winix/db/dbconn.h
plugin.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
plugin.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
@ -605,28 +629,28 @@ plugin.o: ../../winix/templates/htmltextstream.h
plugin.o: ../../winix/core/sessionmanager.h
plugindata.o: plugindata.h plugin.h pluginmsg.h log.h textstream.h
plugindata.o: logmanipulators.h ../../pikotools/textstream/textstream.h
plugindata.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
plugindata.o: ../../pikotools/space/space.h
plugindata.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
plugindata.o: ../../pikotools/convert/convert.h
plugindata.o: ../../pikotools/convert/inttostr.h
plugindata.o: ../../pikotools/membuffer/membuffer.h
plugindata.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
plugindata.o: requesttypes.h item.h error.h config.h
plugindata.o: ../../pikotools/space/spaceparser.h
plugindata.o: ../../pikotools/space/space.h
plugindata.o: ../../pikotools/textstream/types.h htmlfilter.h
plugindata.o: ../../pikotools/space/space.h htmlfilter.h
plugindata.o: ../../winix/templates/htmltextstream.h
plugindata.o: ../../winix/core/textstream.h misc.h
plugindata.o: ../../pikotools/utf8/utf8.h ../../pikotools/space/spacetojson.h
plugindata.o: session.h user.h rebus.h ipban.h mount.h
plugindata.o: ../../winix/templates/locale.h system.h job.h basethread.h
plugindata.o: synchro.h dirs.h dircontainer.h ../../winix/db/db.h
plugindata.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
plugindata.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
plugindata.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
plugindata.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
plugindata.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
plugindata.o: ../../winix/core/ugcontainer.h ../../winix/notify/notify.h
plugindata.o: ../../winix/notify/notifypool.h
plugindata.o: ../../pikotools/utf8/utf8.h winix_const.h
plugindata.o: ../../pikotools/space/spacetojson.h session.h user.h rebus.h
plugindata.o: ipban.h mount.h ../../winix/templates/locale.h system.h job.h
plugindata.o: basethread.h synchro.h dirs.h dircontainer.h
plugindata.o: ../../winix/db/db.h ../../winix/db/dbbase.h
plugindata.o: ../../winix/db/dbconn.h ../../winix/db/dbtextstream.h
plugindata.o: ../../winix/core/error.h ../../winix/db/dbitemquery.h
plugindata.o: ../../winix/core/item.h ../../winix/db/dbitemcolumns.h
plugindata.o: ../../winix/core/user.h ../../winix/core/group.h
plugindata.o: ../../winix/core/dircontainer.h ../../winix/core/ugcontainer.h
plugindata.o: ../../winix/notify/notify.h ../../winix/notify/notifypool.h
plugindata.o: ../../winix/templates/patterns.h ../../winix/templates/locale.h
plugindata.o: ../../winix/templates/localefilter.h ../../ezc/src/ezc.h
plugindata.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
@ -673,16 +697,17 @@ plugindata.o: ../../winix/templates/htmltextstream.h
plugindata.o: ../../winix/core/sessionmanager.h
postmultiparser.o: postmultiparser.h error.h requesttypes.h
postmultiparser.o: ../../pikotools/textstream/textstream.h
postmultiparser.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
postmultiparser.o: ../../pikotools/space/space.h
postmultiparser.o: ../../pikotools/textstream/types.h
postmultiparser.o: ../../pikotools/date/date.h
postmultiparser.o: ../../pikotools/convert/convert.h
postmultiparser.o: ../../pikotools/convert/inttostr.h
postmultiparser.o: ../../pikotools/membuffer/membuffer.h
postmultiparser.o: ../../pikotools/textstream/types.h config.h
postmultiparser.o: ../../pikotools/space/spaceparser.h
postmultiparser.o: ../../pikotools/space/space.h
postmultiparser.o: ../../pikotools/textstream/types.h htmlfilter.h misc.h
postmultiparser.o: item.h ../../pikotools/utf8/utf8.h log.h textstream.h
postmultiparser.o: logmanipulators.h slog.h cur.h request.h
postmultiparser.o: ../../pikotools/space/space.h htmlfilter.h misc.h item.h
postmultiparser.o: ../../pikotools/utf8/utf8.h winix_const.h log.h
postmultiparser.o: textstream.h logmanipulators.h slog.h cur.h request.h
postmultiparser.o: ../../winix/templates/htmltextstream.h
postmultiparser.o: ../../winix/core/textstream.h
postmultiparser.o: ../../pikotools/space/spacetojson.h session.h user.h
@ -690,39 +715,38 @@ postmultiparser.o: plugindata.h rebus.h ipban.h mount.h
postmultiparser.o: ../../winix/templates/locale.h
rebus.o: log.h textstream.h logmanipulators.h
rebus.o: ../../pikotools/textstream/textstream.h
rebus.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
rebus.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
rebus.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
rebus.o: ../../pikotools/date/date.h ../../pikotools/convert/convert.h
rebus.o: ../../pikotools/convert/inttostr.h
rebus.o: ../../pikotools/membuffer/membuffer.h
rebus.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
rebus.o: requesttypes.h item.h error.h config.h
rebus.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
rebus.o: ../../pikotools/textstream/types.h htmlfilter.h
rebus.o: ../../winix/templates/htmltextstream.h ../../winix/core/textstream.h
rebus.o: misc.h ../../pikotools/utf8/utf8.h
rebus.o: ../../pikotools/space/spacetojson.h session.h user.h plugindata.h
rebus.o: rebus.h ipban.h mount.h ../../winix/templates/locale.h
rebus.o: htmlfilter.h ../../winix/templates/htmltextstream.h
rebus.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
rebus.o: winix_const.h ../../pikotools/space/spacetojson.h session.h user.h
rebus.o: plugindata.h rebus.h ipban.h mount.h ../../winix/templates/locale.h
request.o: request.h requesttypes.h ../../pikotools/textstream/textstream.h
request.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
request.o: ../../pikotools/convert/convert.h
request.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
request.o: ../../pikotools/date/date.h ../../pikotools/convert/convert.h
request.o: ../../pikotools/convert/inttostr.h
request.o: ../../pikotools/membuffer/membuffer.h
request.o: ../../pikotools/textstream/types.h item.h error.h config.h
request.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
request.o: ../../pikotools/textstream/types.h htmlfilter.h textstream.h
request.o: ../../winix/templates/htmltextstream.h
request.o: htmlfilter.h textstream.h ../../winix/templates/htmltextstream.h
request.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
request.o: ../../pikotools/space/spacetojson.h log.h logmanipulators.h slog.h
request.o: cur.h session.h user.h plugindata.h rebus.h ipban.h mount.h
request.o: ../../winix/templates/locale.h plugin.h pluginmsg.h system.h job.h
request.o: basethread.h synchro.h dirs.h dircontainer.h ../../winix/db/db.h
request.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
request.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
request.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
request.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
request.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
request.o: ../../winix/core/ugcontainer.h ../../winix/notify/notify.h
request.o: ../../winix/notify/notifypool.h ../../winix/templates/patterns.h
request.o: ../../winix/templates/locale.h
request.o: winix_const.h ../../pikotools/space/spacetojson.h log.h
request.o: logmanipulators.h slog.h cur.h session.h user.h plugindata.h
request.o: rebus.h ipban.h mount.h ../../winix/templates/locale.h plugin.h
request.o: pluginmsg.h system.h job.h basethread.h synchro.h dirs.h
request.o: dircontainer.h ../../winix/db/db.h ../../winix/db/dbbase.h
request.o: ../../winix/db/dbconn.h ../../winix/db/dbtextstream.h
request.o: ../../winix/core/error.h ../../winix/db/dbitemquery.h
request.o: ../../winix/core/item.h ../../winix/db/dbitemcolumns.h
request.o: ../../winix/core/user.h ../../winix/core/group.h
request.o: ../../winix/core/dircontainer.h ../../winix/core/ugcontainer.h
request.o: ../../winix/notify/notify.h ../../winix/notify/notifypool.h
request.o: ../../winix/templates/patterns.h ../../winix/templates/locale.h
request.o: ../../winix/templates/localefilter.h ../../ezc/src/ezc.h
request.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
request.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
@ -767,57 +791,57 @@ request.o: ../../winix/templates/htmltextstream.h
request.o: ../../winix/core/sessionmanager.h
run.o: run.h log.h textstream.h logmanipulators.h
run.o: ../../pikotools/textstream/textstream.h ../../pikotools/space/space.h
run.o: ../../pikotools/date/date.h ../../pikotools/convert/convert.h
run.o: ../../pikotools/convert/inttostr.h
run.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
run.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
run.o: ../../pikotools/membuffer/membuffer.h
run.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
run.o: requesttypes.h item.h error.h config.h
run.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
run.o: ../../pikotools/textstream/types.h htmlfilter.h
run.o: ../../winix/templates/htmltextstream.h ../../winix/core/textstream.h
run.o: misc.h ../../pikotools/utf8/utf8.h ../../pikotools/space/spacetojson.h
run.o: session.h user.h plugindata.h rebus.h ipban.h mount.h
run.o: ../../winix/templates/locale.h
run.o: htmlfilter.h ../../winix/templates/htmltextstream.h
run.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
run.o: winix_const.h ../../pikotools/space/spacetojson.h session.h user.h
run.o: plugindata.h rebus.h ipban.h mount.h ../../winix/templates/locale.h
session.o: session.h item.h ../../pikotools/space/space.h
session.o: ../../pikotools/date/date.h error.h user.h plugindata.h rebus.h
session.o: textstream.h ipban.h misc.h requesttypes.h
session.o: ../../pikotools/textstream/textstream.h
session.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
session.o: error.h user.h plugindata.h rebus.h textstream.h ipban.h misc.h
session.o: requesttypes.h ../../pikotools/textstream/textstream.h
session.o: ../../pikotools/convert/convert.h
session.o: ../../pikotools/convert/inttostr.h
session.o: ../../pikotools/membuffer/membuffer.h
session.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
session.o: winix_const.h
sessioncontainer.o: sessioncontainer.h session.h item.h
sessioncontainer.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
sessioncontainer.o: error.h user.h plugindata.h rebus.h textstream.h ipban.h
sessioncontainer.o: cur.h request.h requesttypes.h
sessioncontainer.o: ../../pikotools/textstream/textstream.h
sessioncontainer.o: ../../pikotools/space/space.h
sessioncontainer.o: ../../pikotools/textstream/types.h
sessioncontainer.o: ../../pikotools/date/date.h error.h user.h plugindata.h
sessioncontainer.o: rebus.h textstream.h ipban.h cur.h request.h
sessioncontainer.o: requesttypes.h ../../pikotools/textstream/textstream.h
sessioncontainer.o: ../../pikotools/convert/convert.h
sessioncontainer.o: ../../pikotools/convert/inttostr.h
sessioncontainer.o: ../../pikotools/membuffer/membuffer.h
sessioncontainer.o: ../../pikotools/textstream/types.h config.h
sessioncontainer.o: ../../pikotools/space/spaceparser.h
sessioncontainer.o: ../../pikotools/space/space.h
sessioncontainer.o: ../../pikotools/textstream/types.h htmlfilter.h
sessioncontainer.o: ../../pikotools/space/space.h htmlfilter.h
sessioncontainer.o: ../../winix/templates/htmltextstream.h
sessioncontainer.o: ../../winix/core/textstream.h misc.h
sessioncontainer.o: ../../pikotools/utf8/utf8.h
sessioncontainer.o: ../../pikotools/utf8/utf8.h winix_const.h
sessioncontainer.o: ../../pikotools/space/spacetojson.h mount.h log.h
sessioncontainer.o: logmanipulators.h slog.h ../../winix/templates/locale.h
sessionmanager.o: sessionmanager.h sessioncontainer.h session.h item.h
sessionmanager.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
sessionmanager.o: error.h user.h plugindata.h rebus.h textstream.h ipban.h
sessionmanager.o: cur.h request.h requesttypes.h
sessionmanager.o: ../../pikotools/space/space.h
sessionmanager.o: ../../pikotools/textstream/types.h
sessionmanager.o: ../../pikotools/date/date.h error.h user.h plugindata.h
sessionmanager.o: rebus.h textstream.h ipban.h cur.h request.h requesttypes.h
sessionmanager.o: ../../pikotools/textstream/textstream.h
sessionmanager.o: ../../pikotools/convert/convert.h
sessionmanager.o: ../../pikotools/convert/inttostr.h
sessionmanager.o: ../../pikotools/membuffer/membuffer.h
sessionmanager.o: ../../pikotools/textstream/types.h config.h
sessionmanager.o: ../../pikotools/space/spaceparser.h
sessionmanager.o: ../../pikotools/space/space.h
sessionmanager.o: ../../pikotools/textstream/types.h htmlfilter.h
sessionmanager.o: ../../pikotools/space/space.h htmlfilter.h
sessionmanager.o: ../../winix/templates/htmltextstream.h
sessionmanager.o: ../../winix/core/textstream.h misc.h
sessionmanager.o: ../../pikotools/utf8/utf8.h
sessionmanager.o: ../../pikotools/utf8/utf8.h winix_const.h
sessionmanager.o: ../../pikotools/space/spacetojson.h mount.h
sessionmanager.o: ipbancontainer.h lastcontainer.h system.h job.h
sessionmanager.o: basethread.h synchro.h dirs.h dircontainer.h
@ -884,47 +908,48 @@ sessionmanager.o: ../../winix/templates/changepatterns.h
sessionmanager.o: ../../winix/templates/htmltextstream.h
sessionmanager.o: ../../winix/core/sessionmanager.h
sessionparser.o: sessionparser.h session.h item.h
sessionparser.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
sessionparser.o: error.h user.h plugindata.h rebus.h textstream.h ipban.h
sessionparser.o: sessioncontainer.h cur.h request.h requesttypes.h
sessionparser.o: ../../pikotools/space/space.h
sessionparser.o: ../../pikotools/textstream/types.h
sessionparser.o: ../../pikotools/date/date.h error.h user.h plugindata.h
sessionparser.o: rebus.h textstream.h ipban.h sessioncontainer.h cur.h
sessionparser.o: request.h requesttypes.h
sessionparser.o: ../../pikotools/textstream/textstream.h
sessionparser.o: ../../pikotools/convert/convert.h
sessionparser.o: ../../pikotools/convert/inttostr.h
sessionparser.o: ../../pikotools/membuffer/membuffer.h
sessionparser.o: ../../pikotools/textstream/types.h config.h
sessionparser.o: ../../pikotools/space/spaceparser.h
sessionparser.o: ../../pikotools/space/space.h
sessionparser.o: ../../pikotools/textstream/types.h htmlfilter.h
sessionparser.o: ../../pikotools/space/space.h htmlfilter.h
sessionparser.o: ../../winix/templates/htmltextstream.h
sessionparser.o: ../../winix/core/textstream.h misc.h
sessionparser.o: ../../pikotools/utf8/utf8.h
sessionparser.o: ../../pikotools/utf8/utf8.h winix_const.h
sessionparser.o: ../../pikotools/space/spacetojson.h mount.h users.h log.h
sessionparser.o: logmanipulators.h slog.h ../../winix/templates/locale.h
slog.o: slog.h cur.h request.h requesttypes.h
slog.o: ../../pikotools/textstream/textstream.h ../../pikotools/space/space.h
slog.o: ../../pikotools/date/date.h ../../pikotools/convert/convert.h
slog.o: ../../pikotools/convert/inttostr.h
slog.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
slog.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
slog.o: ../../pikotools/membuffer/membuffer.h
slog.o: ../../pikotools/textstream/types.h item.h error.h config.h
slog.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
slog.o: ../../pikotools/textstream/types.h htmlfilter.h textstream.h
slog.o: ../../winix/templates/htmltextstream.h ../../winix/core/textstream.h
slog.o: misc.h ../../pikotools/utf8/utf8.h
slog.o: ../../pikotools/space/spacetojson.h session.h user.h plugindata.h
slog.o: rebus.h ipban.h mount.h logmanipulators.h
slog.o: htmlfilter.h textstream.h ../../winix/templates/htmltextstream.h
slog.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
slog.o: winix_const.h ../../pikotools/space/spacetojson.h session.h user.h
slog.o: plugindata.h rebus.h ipban.h mount.h logmanipulators.h
slog.o: ../../winix/templates/locale.h
synchro.o: synchro.h
system.o: system.h job.h basethread.h synchro.h ../../pikotools/space/space.h
system.o: dirs.h item.h ../../pikotools/date/date.h dircontainer.h
system.o: ../../winix/db/db.h ../../winix/db/dbbase.h ../../winix/db/dbconn.h
system.o: ../../pikotools/textstream/types.h dirs.h item.h
system.o: ../../pikotools/date/date.h dircontainer.h ../../winix/db/db.h
system.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
system.o: ../../winix/db/dbtextstream.h ../../winix/core/textstream.h misc.h
system.o: requesttypes.h ../../pikotools/textstream/textstream.h
system.o: ../../pikotools/convert/convert.h
system.o: ../../pikotools/convert/inttostr.h
system.o: ../../pikotools/membuffer/membuffer.h
system.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
system.o: ../../winix/core/error.h ../../pikotools/space/spaceparser.h
system.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
system.o: winix_const.h ../../winix/core/error.h
system.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
system.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
system.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
system.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
@ -977,40 +1002,42 @@ system.o: ../../winix/functions/vim.h plugin.h pluginmsg.h sessionmanager.h
system.o: sessioncontainer.h ipbancontainer.h
threadmanager.o: threadmanager.h basethread.h synchro.h log.h textstream.h
threadmanager.o: logmanipulators.h ../../pikotools/textstream/textstream.h
threadmanager.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
threadmanager.o: ../../pikotools/space/space.h
threadmanager.o: ../../pikotools/textstream/types.h
threadmanager.o: ../../pikotools/date/date.h
threadmanager.o: ../../pikotools/convert/convert.h
threadmanager.o: ../../pikotools/convert/inttostr.h
threadmanager.o: ../../pikotools/membuffer/membuffer.h
threadmanager.o: ../../pikotools/textstream/types.h slog.h cur.h request.h
threadmanager.o: requesttypes.h item.h error.h config.h
threadmanager.o: ../../pikotools/space/spaceparser.h
threadmanager.o: ../../pikotools/space/space.h
threadmanager.o: ../../pikotools/textstream/types.h htmlfilter.h
threadmanager.o: ../../pikotools/space/space.h htmlfilter.h
threadmanager.o: ../../winix/templates/htmltextstream.h
threadmanager.o: ../../winix/core/textstream.h misc.h
threadmanager.o: ../../pikotools/utf8/utf8.h
threadmanager.o: ../../pikotools/utf8/utf8.h winix_const.h
threadmanager.o: ../../pikotools/space/spacetojson.h session.h user.h
threadmanager.o: plugindata.h rebus.h ipban.h mount.h
threadmanager.o: ../../winix/templates/locale.h
timezone.o: timezone.h ../../pikotools/date/date.h
timezone.o: ../../pikotools/space/space.h misc.h item.h requesttypes.h
timezone.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
timezone.o: misc.h item.h requesttypes.h
timezone.o: ../../pikotools/textstream/textstream.h
timezone.o: ../../pikotools/convert/convert.h
timezone.o: ../../pikotools/convert/inttostr.h
timezone.o: ../../pikotools/membuffer/membuffer.h
timezone.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
timezone.o: winix_const.h
timezones.o: timezones.h timezone.h ../../pikotools/date/date.h
timezones.o: ../../pikotools/space/space.h
timezones.o: ../../pikotools/space/spaceparser.h
timezones.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
timezones.o: misc.h item.h requesttypes.h
timezones.o: ../../pikotools/space/spaceparser.h
timezones.o: ../../pikotools/space/space.h misc.h item.h requesttypes.h
timezones.o: ../../pikotools/textstream/textstream.h
timezones.o: ../../pikotools/convert/convert.h
timezones.o: ../../pikotools/convert/inttostr.h
timezones.o: ../../pikotools/membuffer/membuffer.h
timezones.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
timezones.o: log.h textstream.h logmanipulators.h slog.h cur.h request.h
timezones.o: error.h config.h htmlfilter.h
timezones.o: winix_const.h log.h textstream.h logmanipulators.h slog.h cur.h
timezones.o: request.h error.h config.h htmlfilter.h
timezones.o: ../../winix/templates/htmltextstream.h
timezones.o: ../../winix/core/textstream.h
timezones.o: ../../pikotools/space/spacetojson.h session.h user.h
@ -1018,35 +1045,36 @@ timezones.o: plugindata.h rebus.h ipban.h mount.h
timezones.o: ../../winix/templates/locale.h
user.o: user.h
users.o: users.h sessionmanager.h sessioncontainer.h session.h item.h
users.o: ../../pikotools/space/space.h ../../pikotools/date/date.h error.h
users.o: user.h plugindata.h rebus.h textstream.h ipban.h cur.h request.h
users.o: requesttypes.h ../../pikotools/textstream/textstream.h
users.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
users.o: ../../pikotools/date/date.h error.h user.h plugindata.h rebus.h
users.o: textstream.h ipban.h cur.h request.h requesttypes.h
users.o: ../../pikotools/textstream/textstream.h
users.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
users.o: ../../pikotools/membuffer/membuffer.h
users.o: ../../pikotools/textstream/types.h config.h
users.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
users.o: ../../pikotools/textstream/types.h htmlfilter.h
users.o: ../../winix/templates/htmltextstream.h ../../winix/core/textstream.h
users.o: misc.h ../../pikotools/utf8/utf8.h
users.o: ../../pikotools/space/spacetojson.h mount.h ipbancontainer.h
users.o: lastcontainer.h system.h job.h basethread.h synchro.h dirs.h
users.o: dircontainer.h ../../winix/db/db.h ../../winix/db/dbbase.h
users.o: ../../winix/db/dbconn.h ../../winix/db/dbtextstream.h
users.o: ../../winix/core/error.h ../../winix/db/dbitemquery.h
users.o: ../../winix/core/item.h ../../winix/db/dbitemcolumns.h
users.o: ../../winix/core/user.h ../../winix/core/group.h
users.o: ../../winix/core/dircontainer.h ../../winix/core/ugcontainer.h log.h
users.o: logmanipulators.h slog.h ../../winix/templates/locale.h
users.o: ../../winix/notify/notify.h ../../winix/notify/notifypool.h
users.o: ../../winix/templates/patterns.h ../../winix/templates/locale.h
users.o: ../../winix/templates/localefilter.h ../../ezc/src/ezc.h
users.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
users.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
users.o: ../../ezc/src/stringconv.h ../../winix/notify/notifythread.h
users.o: ../../winix/core/basethread.h ../../winix/notify/templatesnotify.h
users.o: ../../winix/core/config.h ../../winix/core/users.h ugcontainer.h
users.o: mounts.h mountparser.h crypt.h run.h groups.h group.h loadavg.h
users.o: image.h threadmanager.h timezones.h timezone.h plugin.h pluginmsg.h
users.o: htmlfilter.h ../../winix/templates/htmltextstream.h
users.o: ../../winix/core/textstream.h misc.h ../../pikotools/utf8/utf8.h
users.o: winix_const.h ../../pikotools/space/spacetojson.h mount.h
users.o: ipbancontainer.h lastcontainer.h system.h job.h basethread.h
users.o: synchro.h dirs.h dircontainer.h ../../winix/db/db.h
users.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
users.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
users.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
users.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
users.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
users.o: ../../winix/core/ugcontainer.h log.h logmanipulators.h slog.h
users.o: ../../winix/templates/locale.h ../../winix/notify/notify.h
users.o: ../../winix/notify/notifypool.h ../../winix/templates/patterns.h
users.o: ../../winix/templates/locale.h ../../winix/templates/localefilter.h
users.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
users.o: ../../ezc/src/pattern.h ../../ezc/src/functions.h
users.o: ../../ezc/src/funinfo.h ../../ezc/src/stringconv.h
users.o: ../../winix/notify/notifythread.h ../../winix/core/basethread.h
users.o: ../../winix/notify/templatesnotify.h ../../winix/core/config.h
users.o: ../../winix/core/users.h ugcontainer.h mounts.h mountparser.h
users.o: crypt.h run.h groups.h group.h loadavg.h image.h threadmanager.h
users.o: timezones.h timezone.h plugin.h pluginmsg.h
users.o: ../../winix/functions/functions.h
users.o: ../../winix/functions/functionbase.h ../../winix/core/request.h
users.o: ../../winix/core/system.h ../../winix/core/synchro.h

@ -32,8 +32,10 @@
*
*/
#include <cstdlib>
#include <wchar.h>
#include "acceptbaseparser.h"
#include "misc.h"
namespace Winix
@ -58,28 +60,11 @@ void AcceptBaseParser::SkipWhite()
}
void AcceptBaseParser::RemoveWhiteFromEnd(std::string & str)
{
if( str.empty() )
return;
size_t i = str.size() - 1;
for( ; i!=0 && IsWhite(str[i]) ; --i);
if( !IsWhite(str[i]) )
++i;
if( i < str.size() )
str.erase(i); // erasing until the end of the string
}
void AcceptBaseParser::ReadParameter()
{
param.clear();
SkipWhite();
while( *text!=0 && *text!=',' && *text!=';' )
@ -88,14 +73,13 @@ void AcceptBaseParser::ReadParameter()
++text;
}
RemoveWhiteFromEnd(param);
TrimWhite(param);
}
void AcceptBaseParser::ReadQ()
{
q = 1.0;
SkipWhite();
if( *text != ';' )
@ -113,7 +97,7 @@ void AcceptBaseParser::ReadQ()
++text; // skipping '='
SkipWhite();
q = strtod(text, (char**)&text);
q = wcstod(text, (wchar_t**)&text);
}
@ -127,7 +111,7 @@ void AcceptBaseParser::SkipParam()
void AcceptBaseParser::Parse(const char * str)
void AcceptBaseParser::Parse(const wchar_t * str)
{
text = str;
Init();
@ -143,6 +127,12 @@ void AcceptBaseParser::Parse(const char * str)
void AcceptBaseParser::Parse(const std::wstring & str)
{
Parse(str.c_str());
}
} // namespace Winix

@ -45,29 +45,29 @@ namespace Winix
// sample (you must create your own class derived from this one):
// object.Parse(" text/html ; , ; q = 45, application / xhtml+xml ; q = 0.4 , application/xml ; q = 0.9 , */* ; q = 0.8 ");
// object.Parse(L" text/html ; , ; q = 45, application / xhtml+xml ; q = 0.4 , application/xml ; q = 0.9 , */* ; q = 0.8 ");
class AcceptBaseParser
{
public:
void Parse(const char * str);
void Parse(const wchar_t * str);
void Parse(const std::wstring & str);
private:
virtual void Init() {} ;
virtual void Param(const std::string & param, double q) = 0;
virtual void Param(const std::wstring & param, double q) = 0;
bool IsWhite(int c);
void SkipWhite();
void RemoveWhiteFromEnd(std::string & str);
void ReadParameter();
void ReadQ();
void SkipParam();
const char * text;
std::string param;
const wchar_t * text;
std::wstring param;
double q;
};

@ -60,7 +60,7 @@ public:
}
void ParseAndLog(const char * str)
void ParseAndLog(const wchar_t * str)
{
Parse(str);
@ -84,6 +84,12 @@ public:
}
void ParseAndLog(const std::wstring & str)
{
ParseAndLog(str.c_str());
}
private:
void Init()
@ -93,14 +99,14 @@ private:
}
void Param(const std::string & param, double q)
void Param(const std::wstring & param, double q)
{
if( param=="deflate" && q!=0.0 )
if( param == L"deflate" && q!=0.0 )
{
accept_deflate = true;
}
if( param=="gzip" && q!=0.0 )
if( param == L"gzip" && q!=0.0 )
{
accept_gzip = true;
}

@ -114,39 +114,81 @@ App::App()
bool App::InitFCGI()
bool App::InitFCGI(char * sock, char * sock_user, char * sock_group)
{
const char * sock = config.fcgi_socket.c_str();
unlink(sock);
if( !WideToUTF8(config.fcgi_socket, sock, WINIX_OS_PATH_SIZE) )
return false;
fcgi_socket = FCGX_OpenSocket(sock, 100); // !! dodac 100 do konfiga
if( !WideToUTF8(config.fcgi_socket_user, sock_user, WINIX_OS_USERNAME_SIZE) )
return false;
if( fcgi_socket < 0 )
{
log << log1 << "App: An error during creating a fcgi socket" << logend;
if( !WideToUTF8(config.fcgi_socket_group, sock_group, WINIX_OS_USERNAME_SIZE) )
return false;
}
log << log3 << "App: FastCGI socket number: " << fcgi_socket << logend;
chmod(sock, config.fcgi_socket_chmod);
return true;
}
passwd * pw = getpwnam(config.fcgi_socket_user.c_str());
/*
* chmod and chown of the socket are set before winix drops privileges
*/
bool App::InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_group)
{
if( chmod(sock, config.fcgi_socket_chmod) < 0 )
{
log << log1 << "App: I cannot chmod a FastCGI socket, check fcgi_socket_chmod in the config" << logend;
return false;
}
passwd * pw = getpwnam(sock_user);
if( !pw )
{
log << log1 << "App: there is no user: " << config.fcgi_socket_user << logend;
log << log1 << "App: there is no a user: " << config.fcgi_socket_user << logend;
return false;
}
group * gr = getgrnam(config.fcgi_socket_group.c_str());
group * gr = getgrnam(sock_group);
if( !gr )
{
log << log1 << "App: there is no group: " << config.fcgi_socket_group << logend;
log << log1 << "App: there is no a group: " << config.fcgi_socket_group << logend;
return false;
}
if( chown(sock, pw->pw_uid, gr->gr_gid) < 0 )
{
log << log1 << "App: I cannot chown a FastCGI socket, check fcgi_socket_user "
<< "and fcgi_socket_group in the config" << logend;
return false;
}
chown(sock, pw->pw_uid, gr->gr_gid);
return true;
}
bool App::InitFCGI()
{
char sock[WINIX_OS_PATH_SIZE];
char sock_user[WINIX_OS_USERNAME_SIZE];
char sock_group[WINIX_OS_USERNAME_SIZE];
if( !InitFCGI(sock, sock_user, sock_group) )
return false;
unlink(sock);
fcgi_socket = FCGX_OpenSocket(sock, config.fcgi_socket_listen);
if( fcgi_socket < 0 )
{
log << log1 << "App: An error during creating a fcgi socket" << logend;
return false;
}
log << log3 << "App: FastCGI socket number: " << fcgi_socket << logend;
if( !InitFCGIChmodChownSocket(sock, sock_user, sock_group) )
return false;
if( FCGX_Init() != 0 )
{
@ -185,12 +227,9 @@ bool App::Init()
CreateStaticTree();
post_parser.UTF8(config.utf8);
post_parser.LogValueSize(config.log_post_value_size);
// post_multi_parser has a pointer to the config
cookie_parser.UTF8(config.utf8);
plugin.Call((Session*)0, WINIX_PLUGIN_INIT);
return true;
@ -218,7 +257,7 @@ void App::BaseUrlRedirect(int code, bool add_subdomain)
}
cur.request->redirect_to += config.base_url;
AssignString(cur.request->env_request_uri, cur.request->redirect_to, false);
cur.request->redirect_to += cur.request->env_request_uri;
// cur.request->env_request_uri should not be UrlEncoded because it contains slashes
cur.request->redirect_type = code;
}
@ -241,7 +280,7 @@ bool App::BaseUrlRedirect()
if( cur.request->method == Request::post )
return false;
if( Equal(config.base_url.c_str(), cur.request->env_http_host) )
if( config.base_url == cur.request->env_http_host )
return false;
BaseUrlRedirect(config.base_url_redirect_code, false);
@ -345,7 +384,28 @@ void App::ProcessRequestThrow()
}
plugin.Call(WINIX_SESSION_CHANGED);
functions.Parse(); // parsing directories,files,functions and parameters
if( cur.request->env_request_uri.size() <= WINIX_URL_MAX_SIZE )
{
functions.Parse(); // parsing directories, files, functions and parameters
}
else
{
/*
* IMPROVE ME
* it will not have the root directory set
* so as a response only a blank page is shown
* (root directory is set in funcions.Parse())
*
* IMPROVE ME
* we can add a better return code (http status):
* http://www.ietf.org/rfc/rfc2616.txt
* "A server SHOULD return 414 (Request-URI Too Long) status if a URI is longer than the server can handle"
*
*/
cur.request->status = WINIX_ERR_PERMISSION_DENIED;
log << log1 << "App: the URL is too long: " << cur.request->env_request_uri.size() << logend;
}
cur.mount = system.mounts.CalcCurMount();
@ -637,17 +697,21 @@ void App::LogEnvironmentVariables()
/*
* reading the request (without GET parameters in the URL)
*/
void App::ReadRequest()
{
ReadEnvVariables();
ReadEnvRemoteIP();
CheckRequestMethod();
CheckSSL();
SetSubdomain();
LogAccess();
ReadGetPostVars();
ReadPostVars();
cookie_parser.Parse(cur.request->env_http_cookie, cur.request->cookie_tab);
accept_encoding_parser.ParseAndLog(cur.request->env_http_accept_encoding);
@ -663,51 +727,63 @@ void App::ReadRequest()
void App::SetEnv(const char * & env, const char * name)
void App::SetEnv(const char * name, std::wstring & env)
{
const char * v = FCGX_GetParam(name, fcgi_request.envp);
const char * v = FCGX_GetParam(name, fcgi_request.envp);
if( v )
env = v;
// by default env is set to an empty string (in cur.request->Clear() method)
{
PT::UTF8ToWide(v, env);
}
}
void App::ReadEnvVariables()
{
// we store that values because FCGX_GetParam has O(n) complexity
// with this variables (env_*) we have O(1)
SetEnv(cur.request->env_request_method, "REQUEST_METHOD"); // !! mozna nie uzywac tego, teraz mamy w strukturze fcgi_request
SetEnv(cur.request->env_request_uri, "REQUEST_URI");
SetEnv(cur.request->env_http_cookie, "HTTP_COOKIE");
SetEnv(cur.request->env_remote_addr, "REMOTE_ADDR");
SetEnv(cur.request->env_http_host, "HTTP_HOST");
SetEnv(cur.request->env_http_user_agent, "HTTP_USER_AGENT");
SetEnv(cur.request->env_fcgi_role, "FCGI_ROLE");
SetEnv(cur.request->env_content_type, "CONTENT_TYPE");
SetEnv(cur.request->env_http_accept_encoding, "HTTP_ACCEPT_ENCODING");
SetEnv(cur.request->env_https, "HTTPS");
SetEnv("REQUEST_METHOD", cur.request->env_request_method);
SetEnv("REQUEST_URI", cur.request->env_request_uri);
SetEnv("HTTP_COOKIE", cur.request->env_http_cookie);
SetEnv("REMOTE_ADDR", cur.request->env_remote_addr);
SetEnv("HTTP_HOST", cur.request->env_http_host);
SetEnv("HTTP_USER_AGENT", cur.request->env_http_user_agent);
SetEnv("FCGI_ROLE", cur.request->env_fcgi_role);
SetEnv("CONTENT_TYPE", cur.request->env_content_type);
SetEnv("HTTP_ACCEPT_ENCODING", cur.request->env_http_accept_encoding);
SetEnv("HTTPS", cur.request->env_https);
}
cur.request->ip = (int)inet_addr(cur.request->env_remote_addr);
void App::ReadEnvRemoteIP()
{
const char * v = FCGX_GetParam("REMOTE_ADDR", fcgi_request.envp);
if( v )
{
cur.request->ip = (int)inet_addr(v);
}
}
void App::CheckRequestMethod()
{
cur.request->method = Request::unknown_method;
if( ToSmall(cur.request->env_request_method[0]) == 'g' )
cur.request->method = Request::get;
else
if( ToSmall(cur.request->env_request_method[0]) == 'p' )
cur.request->method = Request::post;
else
if( ToSmall(cur.request->env_request_method[0]) == 'h' )
cur.request->method = Request::head;
if( !cur.request->env_request_method.empty() )
{
if( ToSmall(cur.request->env_request_method[0])</