Frank Lahm [Fri, 25 Oct 2013 09:42:06 +0000 (11:42 +0200)]
Remove obsolete compatibility function declarations for snprintf() and vsnprintf()
We were providing function declarations without ever providing function implementations.
Also, for some reason, this caues compilation issues on older Linux versions.
Ralph Boehme [Sun, 13 Oct 2013 14:16:54 +0000 (16:16 +0200)]
New MySQL CNID backend
o add configure check --with-mysql-config=PATH that searches for
the mysql-config binary
o add new MySQL CNID subdirectory and compilation infrastructure
o modify CNID header files for new backend
o add private CNID MySQL header file for private data
o add mysql config options
o add MySQL args to cnid_open()
o add support for MySQL CNID backend to dbd
Add MySQL libraries as deps to executables:
workaround libtool bug where the rpath of a dependent library (ie mysql) of a libtool
library (ie libatalk) gets stripped from the link flags when linking the final
executable, even though the library (mysql) is a non default OS dir.
Ralph Boehme [Wed, 2 Oct 2013 07:39:20 +0000 (09:39 +0200)]
Add recvfile support with splice() on Linux
o Global option "recvfile" controls whether splice() is used.
Ddefaults to false.
o Global option "splice size" limits the amount of data spliced.
Defaults to 64k.
Ralph Boehme [Tue, 8 Oct 2013 10:36:25 +0000 (12:36 +0200)]
Fix error in ad_openat(), bug #532
Saving from Word to a folder that is a symlink to a folder on another filesystem
results in a crash of the afpd process and the save to fail. This happens only
if the option "follow symlinks" is enabled.
Ralph Boehme [Wed, 18 Sep 2013 09:08:38 +0000 (11:08 +0200)]
Small fix in the DSI tickle handling
Due to a regression introduced in 9355ebcc5744bbd445a0c8cb8b0a0ca201d5499a
the server may send an extra DSI tickle immediately after a "volume modified"
DSI attention notification. This will only happen if the connection is
o completely idle, and
o the volume was modified by another AFP client
The result is an extra DSI tickle every 30 seconds.
Ralph Boehme [Fri, 13 Sep 2013 10:19:56 +0000 (12:19 +0200)]
Option "vol dbnest"
When set to true, the CNID database for a volume is stored in the volume root
of a share in a directory .AppleDB like in Netatalk 2. Defaults to false.
HAT [Thu, 29 Aug 2013 11:40:27 +0000 (20:40 +0900)]
twisted u_name and m_name
Fix Bug#523.
Additional Info:
The following line in ofork.c may also be wrong.
/* Somone has used write_fork, we assume file was changed, register it to file change event api */
if (ofork->of_flags & AFPFORK_MODIFIED) {
struct dir *dir = dirlookup(ofork->of_vol, ofork->of_did);
bstring forkpath = bformat("%s/%s", bdata(dir->d_fullpath), of_name(ofork));
fce_register(FCE_FILE_MODIFY, bdata(forkpath), NULL, fce_file);
bdestroy(forkpath);
}
Ralph Boehme [Wed, 11 Sep 2013 09:38:11 +0000 (11:38 +0200)]
Fix handling of large number of volumes
o ensure only a maximum of 255 volumes is returned
o ensure the reply with the volume list fits in a certain buffer
size, testing with 10.8.4 saw the maximum size the client would
accept to be ~4600 bytes
Ralph Boehme [Thu, 25 Jul 2013 16:31:11 +0000 (18:31 +0200)]
Send optional AFP messages for vetoed files
New option "veto messages" can be used to enable sending messages.
Then whenever a client tries to access any file or directory
with a vetoed name, it will be sent an AFP message indicating
the name and the directory.
Ralph Boehme [Sun, 23 Jun 2013 17:37:00 +0000 (19:37 +0200)]
Rename all iniparser API function
Linking with PAM and using pam_windind from Samba will otherwise
result in the pam_winbind calling our iniparser functions instead
of their own copies. As both implementation differ this leads to
crashes in the worst case.