1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The purpose of this file is to record and log specific technical notes
regarding proftpd development; both current and "to-do" items. The file
is _not_ distributed with tarball source code releases, and only exists
inside the CVS repository. If you use this file to annotate your work,
please make sure you follow the existing format.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[ Legend: - = "to do", + = "done", x = "idea has been scrapped" ]
GENERAL TODO FOR 1.2.0:
+ Configurable logging, including formats, command levels and
files.
+ "Global" configuration directives. New <Global> context??
New <Global> directive block, untested.
+ Limit connections per IP address in some configurable fashion.
MaxClientsPerHost directive, by vlad@elis.tasur.edu.ru
+ Directive to disable wtmp, xferlog and syslog logging.
8/13/98 JSS:
- Document the following directives:
+<Global>
+MaxInstances
+MaxClientsPerHost
+SystemLog
+LogFormat
+ExtendedLog
UtmpLog
7/19/98 JSS:
+ LsDefaultOptions to specify default 'options' that will be applied
to LIST/NLST/STAT commands in mod_ls.c
+ SyslogFacility directive, to configure which facility proftpd
uses for ALL logging (including auth)
+ DirFakeMode directive, to specify "fake" permissions shown in
directory listings.
7/14/98 JSS:
+ Make Allow/Deny CIDR
7/10/98 JSS:
+ Add -t argument to LIST/NLST, sort by time instead of name.
+ Add new directive (LoginPasswordPrompt?) to cause proftpd to skip
password request if login will be denied regardless of password.
+ New directives to document:
PersistentPasswd
AuthUserFile
AuthGroupFile
DirFakeUser
DirFakeGroup
RootLogin
IdentLookups
ShowSymlinks (altered default in 1.1.5)
6/1/98 JSS:
- TODO:
+ Rewrite i/o & buffer code. It was originally somewhat of a
"exersise" in async i/o w/out using SIGIO/SIGURG or threads.
Neat in concept, poor in execution. Creates massives problems
with dynamically generated data connections (i.e. recursive
directory listing), because all the data must be buffered before
it can be sent. Rather, it would now be better to go to a completely
sync i/o model, using SIGURG to detect transfer interruption.
5/24/98 JSS:
- TODO:
+ "Dyanmic" static <Directory> blocks. Using "<Directory ~/ftp>"
should be applied to the currently authenticated user AFTER login.
Similar to how .ftpaccess works, but statically configured in the
main configuration file.
+ AuthAliasOnly directive: forces a particular configuration to ONLY
authenticate aliased usernames (only the left-most argument of
`UserAlias'). All others should be treated as if the user does
not exist for that config block. If applied to a <VirtualHost>
or main config, this effectively means that non-alias usernames
do not exist AT ALL. This would allow configurations where an
anonymous context runs as a _real user_ who also has normally
authenticated access to the system. i.e.:
# assuming user 'frank' is a real user
<Anonymous ~frank/ftp>
User frank
Group users
UserAlias anonymous frank
UserAlias ftp frank
AuthAliasOnly on
</Anonymous>
# now, if a user logs in as ftp or anonymous, they are jailed
# into ~frank/ftp, and the daemon runs as frank.users.
# If the user logs in as frank, they are authenicated normally
# and not jailed.
+ Expand DefaultRoot so that a root directory can be specified as
"~/anon-ftp", so that all logins (for which DefaultRoot matches)
are jailed into the authenticated user's $HOME/anon-ftp.
+ AnonymousGroup group-expression: makes all usernames matching
the group-expression explicitly anonymous; no password is
required. Additionally, those forced anonymous by this directive
would be jailed into the proper matching DefaultRoot if one
exists, otherwise jailed into their home directory. Some extra
security should be placed on this so that user's w/out home
directories (or DefaultRoot) are not allowed access.
- Specifying a `Port 0' (i.e. non-existant port) in either the main
configuration or in a VirtualHost causes proftpd to not create a socket or
bind to _any_ address for the given config. This can be used to
selectively disable certain virtualhosts w/out commenting out large
portions of config. Rather, the config still applies, however there is no
possibility of network activity taking place on the associated
configuration. Intended purpose is really to allow the "main
configuration" to not bind to any ip or port (although this would have no
effect if SocketBindTight was off). TODO: Document this in
reference.html.
- Created this file in the proftpd-1.1 source tree and added to cvs. Top
of file should not be altered and should always retain existing text
describing the contents of this file.
|