I wanted to experiment with non-anonymous module management. So I turned on FTP, defined myself a new source, and got very confused.
What I'm up against may be a curl issue, that is, it may not be Sword's fault. But it sure does look funny. I wanted merely to expose my own module set redundantly, that is, /home/karl/.sword -- seemed like an obvious thing to try. When I created a source that appeared obvious in that sense, it didn't give me what I expected. FTPSource=Karl|127.0.0.1|/home/karl/.sword|karl|XXXX| The problem is that curl seems unprepared for the fact that it starts out in /home/karl when logging in as myself: ***** sourceURL: ftp://127.0.0.1/home/karl/.sword/mods.d/ CURLFTPTransport: TEXT: About to connect() to 127.0.0.1 port 21 (#0) CURLFTPTransport: TEXT: Trying 127.0.0.1... CURLFTPTransport: TEXT: connected CURLFTPTransport: TEXT: Connected to 127.0.0.1 (127.0.0.1) port 21 (#0) CURLFTPTransport: <= Recv header: 220 (vsFTPd 2.0.7) CURLFTPTransport: => Send header: USER karl CURLFTPTransport: <= Recv header: 331 Please specify the password. CURLFTPTransport: => Send header: PASS XXXX CURLFTPTransport: <= Recv header: 230 Login successful. CURLFTPTransport: => Send header: PWD CURLFTPTransport: <= Recv header: 257 "/home/karl" CURLFTPTransport: TEXT: Entry path is '/home/karl' >>> CURLFTPTransport: => Send header: CWD home >>> CURLFTPTransport: <= Recv header: 550 Failed to change directory. CURLFTPTransport: TEXT: Server denied you to change to the given directory CURLFTPTransport: TEXT: Connection #0 to host 127.0.0.1 left intact CURLFTPTransport: TEXT: Access denied to remote resource curl is assuming that it begins in /, and so it believes in turn that it should be able to traverse straight down through the directory hierarchy from the root directory -- not so, when logging as someone other than the anon user. With this thought in mind, I have to wonder why curl bothers to PWD, if it can't put the answer to use. When I modified the entry slightly, I got an even more confused instance of the same problem. FTPSource=Karl|127.0.0.1|.sword|karl|XXXX| Note lack of any '/'. >>> ***** sourceURL: ftp://127.0.0.1.sword/mods.d.tar.gz CURLFTPTransport: TEXT: getaddrinfo(3) failed for 127.0.0.1.sword:21 >>> CURLFTPTransport: TEXT: Couldn't resolve host '127.0.0.1.sword' CURLFTPTransport: TEXT: Closing connection #0 CURLFTPTransport: TEXT: Couldn't resolve host name What I'm left with is treating ~karl as though it were a filesystem root, which is pretty much nonsense, but it fits into curl's mistaken absolutist psychosis: FTPSource=Karl|127.0.0.1|/.sword|karl|XXXX| Note slightly absurd-looking anchoring '/' on path. ***** sourceURL: ftp://127.0.0.1/.sword/mods.d.tar.gz CURLFTPTransport: TEXT: About to connect() to 127.0.0.1 port 21 (#0) CURLFTPTransport: TEXT: Trying 127.0.0.1... CURLFTPTransport: TEXT: connected CURLFTPTransport: TEXT: Connected to 127.0.0.1 (127.0.0.1) port 21 (#0) CURLFTPTransport: <= Recv header: 220 (vsFTPd 2.0.7) CURLFTPTransport: => Send header: USER karl CURLFTPTransport: <= Recv header: 331 Please specify the password. CURLFTPTransport: => Send header: PASS XXXX CURLFTPTransport: <= Recv header: 230 Login successful. CURLFTPTransport: => Send header: PWD CURLFTPTransport: <= Recv header: 257 "/home/karl" CURLFTPTransport: TEXT: Entry path is '/home/karl' >>> CURLFTPTransport: => Send header: CWD .sword >>> CURLFTPTransport: <= Recv header: 250 Directory successfully changed. and so forth. After this psychosis-accommodating doodad was emplaced, non-anon module management worked fine. This makes the scheme work, but it surely seems Wrong. _______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://www.crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page