The document.directory has the "resource_find_all" flag, which now
defaults to True and means that a new doc in a resource folder will
have the *root* Documents as a parent. Fix the test to expect that
behaviour.
bzr revid: p_christ@hol.gr-20100828141852-pyvd24rh1rptqf5f
This is marginally correct, but the document_ftp module would cause
its own tests to fail (because it's not installed yet) and thus won't
allow access to the db. Then, a 'tests.fatal' setting means that the
module will never install successfully!
Ideally, the tests should be performed *after* the db is inited and
module is fully loaded. But the yaml mechanism performs them too early
for us.
bzr revid: p_christ@hol.gr-20100827073917-g6jwwskgpnnwl855
These are the functional ones. Don't mess with the real os, because
we're just an abstraction layer of nodes, drop support for
Python < 2.4, because the server wouldn't work anyway.
bzr revid: p_christ@hol.gr-20100810122957-41n7lq0o287j62vw
Hopefully, FTP now will behave better to clients like Firefox. It is better
to pass the node-API messages to the FTP layer, than always return 550.
Conflicts:
document_ftp/ftpserver/ftpserver.py
bzr revid: p_christ@hol.gr-20100714125228-7xs3zbi72may4198
This improves response from kio_ftp, because the SIZE request will no longer
report 0 length. However, LIST etc may still report 0, which will confuse
some clients. Solution is non-trivial, because the length can only be
computed after the content is generated.
bzr revid: p_christ@hol.gr-20100713103102-v5uou8uuqvqxm6yc
At trunk-xrg, the FTP daemon is only started *after* the db is loaded,
which means that it will not be available for tests on a server upgrade.
(still, tests can be performed through the base_module_record's importer)
Anyway, it is not wise to block the server startup if FTP doesn't
respond.
bzr revid: p_christ@hol.gr-20100713103016-33gu4o7yvkn7hmnd
At the nlst command, the paths from the API could have been unicode, in
which case the '\r\n' separator would be sent as '\00\r\00\n' over the
wire (that's utf-16 encoding).
For that, bring the utf-8 conversion functions inside ftpserver.
bzr revid: p_christ@hol.gr-20100708225433-fqpl911kqfsrm1ff
the FTP server has been limited to only serve databases that have the
document_ftp module "installed". However, this would break running the
tests, because the module would be marked as "to upgrade".
bzr revid: p_christ@hol.gr-20100706232928-5ckj97p61nfrq3rn
A big patch: nodes should not be calculated multiple times from the path
string, within an operation. Instead, they are resolved only once in a
node object (may reuse the cwd_node, if possible) and then op relative
to that node.
bzr revid: p_christ@hol.gr-20100702215249-kzucr3i1p5f6vvnt
The document_ftp is not really a database-specific server, but a
server-wide implementation. So, it could normally serve all the databases
of the server, once one of them has it installed. Limit that and instead
only serve the dbs that have the module marked as installed.
bzr revid: p_christ@hol.gr-20100701175132-dydehiw5m6nnvcwy
Trying a login on each db listed would result in the database loaded by
the pooler. This behaviour is not really welcome.
However, some clients (like kio_ftp) may still want to descend into the
databases listed, in which case we cannot avoid to load the db(s).
bzr revid: p_christ@hol.gr-20100629140328-2kqlfpo3oyhu0ufi