Skip to content

Commit

Permalink
Merge branch 'release-3.0.3'
Browse files Browse the repository at this point in the history
  • Loading branch information
franklahm committed Mar 26, 2013
2 parents b6f259d + 6741897 commit 7ac82e9
Show file tree
Hide file tree
Showing 82 changed files with 2,302 additions and 782 deletions.
4 changes: 2 additions & 2 deletions Makefile.am
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Makefile.am for top level of netatalk package

if USE_BUILTIN_LIBEVENT
SUBDIRS = libevent libatalk bin config etc man contrib distrib include doc macros test
SUBDIRS = libevent include libatalk bin config etc man contrib distrib doc macros test
else
SUBDIRS = libatalk bin config etc man contrib distrib include doc macros test
SUBDIRS = include libatalk bin config etc man contrib distrib doc macros test
endif

EXTRA_DIST = CONTRIBUTORS COPYRIGHT COPYING NEWS VERSION
Expand Down
49 changes: 49 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,52 @@
Changes in 3.0.3
================
* UPD: afpd: Increase default DSI server quantum to 1 MB
* UPD: bundled libevent2 is now static
* NEW: --with-lockfile=PATH configure option for specifying an
alternative path for the netatalk lockfile.
* UPD: systemd service file use PIDFile and ExecReload.
From FR #70.
* UPD: RedHat sysvinit: rm graceful, reimplement reload, add condrestart
* FIX: Couldn't create folders on FreeBSD 9.1 ZFS fileystems.
Fixed bug #491.
* FIX: Fix an issue with user homes when user home directory has not the
same name as the username.
Fixes bug #497.
* UPD: Fix PAM config install, new default installation dir is
$sysconfdir/pam.d/. Add configure option --with-pam-confdir
to specify alternative path.
* NEW: AFP stats about active session via dbus IPC. Client side python
program `afpstats`. Requires dbus, dbus-glib any python-dbus.
configure option --dbus-sysconf-dir for specifying dbus
system security configuration files.
New option 'afpstats' (default: no) which determines whether
to enable the feature or not.
* NEW: configure option --with-init-dir
* NEW: dtrace probes, cf include/atalk/afp_dtrace.d for available
probes.
* UPD: Reload groups when reloading volumes. FR #71.
* FIX: Attempt to read read-only ._ rfork results in disconnect.
Fixes bug #502.
* FIX: File's ressource fork can't be read if metadata EA is missing.
Fixes bug #501.
* FIX: Conversion from adouble v2 to ea for directories.
Fixes bug #500.
* FIX: Error messages when mounting read-only filesystems.
Fixes bug #504.
* FIX: Permissions of ._ AppleDouble ressource fork after conversion
from v2 to ea.
Fixes bug #505.
* UPD: Use FreeBSD sendfile() capability to send protocol header.
From FR #75.
* UPD: Increase IO size when sendfile() is not used.
From FR #76.
* FIX: Can't set Finder label on symlinked folder with "follow symlinks = yes".
Fixes bug #508.
* FIX: Setting POSIX ACLs on Linux
Fixes bug #506.
* FIX: "ad ls" segfault if requested object is not in an AFP volume.
Fixes bug #496.

Changes in 3.0.2
================
* NEW: afpd: Put file extension type/creator mapping back in which had
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.0.2
3.0.3
2 changes: 1 addition & 1 deletion bin/ad/ad_ls.c
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ static void print_flags(char *path, afpvol_t *vol, const struct stat *st)
if (S_ISDIR(st->st_mode))
adflags = ADFLAGS_DIR;

if (vol->vol->v_path == NULL)
if (vol->vol == NULL || vol->vol->v_path == NULL)
return;

ad_init(&ad, vol->vol);
Expand Down
8 changes: 5 additions & 3 deletions bin/ad/ad_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,11 @@ int openvol(AFPObj *obj, const char *path, afpvol_t *vol)

void closevol(afpvol_t *vol)
{
if (vol->vol->v_cdb) {
cnid_close(vol->vol->v_cdb);
vol->vol->v_cdb = NULL;
if (vol->vol) {
if (vol->vol->v_cdb) {
cnid_close(vol->vol->v_cdb);
vol->vol->v_cdb = NULL;
}
}
memset(vol, 0, sizeof(afpvol_t));
}
Expand Down
45 changes: 45 additions & 0 deletions bootstrap
Original file line number Diff line number Diff line change
@@ -1,5 +1,50 @@
#!/bin/sh

DIE=0

(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`autoconf' installed to."
echo "Download the appropriate package for your distribution,"
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
DIE=1
}

(libtool --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`libtool' installed."
echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}

(automake --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`automake' installed."
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}

(aclocal --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: Missing \`aclocal'. The version of \`automake'"
echo "installed doesn't appear recent enough."
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
echo "(or a newer version if it is available)"
DIE=1
}

(pkg-config --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "**Error**: You must have \`pkg-config' installed."
DIE=1
}

if test "$DIE" -eq 1; then
exit 1
fi

set -x

rm -rf autom4te*.cache
Expand Down
8 changes: 7 additions & 1 deletion config/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,19 @@ SUFFIXES = .tmpl .
TMPLFILES = afp.conf.tmpl
GENFILES = afp.conf
CLEANFILES = $(GENFILES)
EXTRA_DIST = afp.conf.tmpl extmap.conf
EXTRA_DIST = afp.conf.tmpl extmap.conf netatalk-dbus.conf

OVERWRITE_CONFIG = @OVERWRITE_CONFIG@

CONFFILES = extmap.conf

pkgconfdir = @PKGCONFDIR@

if HAVE_DBUS_GLIB
dbusservicedir = $(DBUS_SYS_DIR)
dbusservice_DATA = netatalk-dbus.conf
endif

#
# rule to parse template files
#
Expand Down
17 changes: 17 additions & 0 deletions config/netatalk-dbus.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>

<!-- Only root can own AFP stats service -->
<policy user="root">
<allow own="org.netatalk.AFPStats"/>
</policy>

<!-- Allow anyone to invoke methods on time-sliderd -->
<policy context="default">
<allow send_destination="org.netatalk.AFPStats"/>
<allow receive_sender="org.netatalk.AFPStats"/>
</policy>

</busconfig>
2 changes: 1 addition & 1 deletion config/pam/.gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Makefile
Makefile.in
netatalk.pam
.gitignore
netatalk
*.o
28 changes: 5 additions & 23 deletions config/pam/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
## Makefile for distrib/pam/

SUFFIXES = .tmpl .
pamdir = @PAMDIR@/etc/pam.d
EXTRA_DIST = netatalk.pam.tmpl
noinst_SCRIPTS = netatalk.pam
CLEANFILES = netatalk.pam
EXTRA_DIST = netatalk.tmpl
noinst_SCRIPTS = netatalk
CLEANFILES = netatalk

.tmpl:
sed -e "s,[@]PAM_DIRECTIVE[@],${PAM_DIRECTIVE},g" \
Expand All @@ -15,23 +14,6 @@ CLEANFILES = netatalk.pam
<$< >$@

if USE_PAM
install-data-local: netatalk.pam
$(mkinstalldirs) $(DESTDIR)$(pamdir)
if test "x$(OVERWRITE_CONFIG)" = "xyes" -o ! -f $(DESTDIR)$(pamdir)/netatalk; then \
echo "$(INSTALL_DATA) $$f $(DESTDIR)$(pamdir)/netatalk"; \
$(INSTALL_DATA) netatalk.pam $(DESTDIR)$(pamdir)/netatalk || echo "WARNING: Can't install PAM files"; \
else \
echo "not overwriting $(DESTDIR)$(pamdir)/netatalk"; \
fi;

uninstall-local:
echo rm -f $(DESTDIR)$(pamdir)/netatalk; \
rm -f $(DESTDIR)$(pamdir)/netatalk; \
for f in $(CONFFILES) $(GENFILES); do \
echo rm -f $(DESTDIR)$(pkgconfdir)/$$f; \
rm -f $(DESTDIR)$(pkgconfdir)/$$f; \
done
else
install-data-local:
uninstall-local:
pamdir = $(PAMDIR)
pam_DATA = netatalk
endif
File renamed without changes.
14 changes: 12 additions & 2 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -180,12 +180,22 @@ AC_NETATALK_SENDFILE
dnl Check whether bundled libevent shall not be used
AC_NETATALK_LIBEVENT

dnl libatalk API checks
AC_DEVELOPER

dnl Check for dtrace
AC_NETATALK_DTRACE

dnl Check for dbus-glib, for AFP stats on dbus
AC_NETATALK_DBUS_GLIB

dnl FHS stuff has to be done last because it overrides other defaults
AC_NETATALK_FHS

AC_DEVELOPER
dnl netatalk lockfile path, must come after AC_NETATALK_FHS
AC_NETATALK_LOCKFILE

CFLAGS="-I\$(top_srcdir)/include -I\$(top_srcdir)/sys $CFLAGS"
CFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include $CFLAGS"
UAMS_PATH="${uams_path}"

AC_SUBST(LIBS)
Expand Down
42 changes: 36 additions & 6 deletions contrib/misc/libevent.patch
Original file line number Diff line number Diff line change
@@ -1,8 +1,35 @@
diff --git a/libevent/Makefile.am b/libevent/Makefile.am
index 46f6d34..dda19b2 100644
index 09505bd..8114ad3 100644
--- a/libevent/Makefile.am
+++ b/libevent/Makefile.am
@@ -173,7 +173,7 @@ NO_UNDEFINED =
@@ -86,9 +86,6 @@ if INSTALL_LIBEVENT
dist_bin_SCRIPTS = event_rpcgen.py
endif

-pkgconfigdir=$(libdir)/pkgconfig
-LIBEVENT_PKGCONFIG=libevent.pc
-
# These sources are conditionally added by configure.in or conditionally
# included from other files.
PLATFORM_DEPENDENT_SRC = \
@@ -108,16 +105,13 @@ EXTRA_DIST = \
LIBEVENT_LIBS_LA = libevent.la libevent_core.la libevent_extra.la
if PTHREADS
LIBEVENT_LIBS_LA += libevent_pthreads.la
-LIBEVENT_PKGCONFIG += libevent_pthreads.pc
endif
if OPENSSL
LIBEVENT_LIBS_LA += libevent_openssl.la
-LIBEVENT_PKGCONFIG += libevent_openssl.pc
endif

if INSTALL_LIBEVENT
lib_LTLIBRARIES = $(LIBEVENT_LIBS_LA)
-pkgconfig_DATA = $(LIBEVENT_PKGCONFIG)
else
noinst_LTLIBRARIES = $(LIBEVENT_LIBS_LA)
endif
@@ -196,7 +190,7 @@ NO_UNDEFINED =
MAYBE_CORE =
endif

Expand All @@ -11,9 +38,12 @@ index 46f6d34..dda19b2 100644

libevent_la_SOURCES = $(CORE_SRC) $(EXTRA_SRC)
libevent_la_LIBADD = @LTLIBOBJS@ $(SYS_LIBS)
@@ -221,3 +221,5 @@ FORCE:

DISTCLEANFILES = *~ libevent.pc ./include/event2/event-config.h
@@ -249,5 +243,7 @@ doxygen: FORCE
doxygen $(srcdir)/Doxyfile
FORCE:

+install:
-DISTCLEANFILES = *~ libevent.pc ./include/event2/event-config.h
+DISTCLEANFILES = *~ ./include/event2/event-config.h
+
+install:

4 changes: 2 additions & 2 deletions contrib/shell_utils/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ SUFFIXES = .tmpl .

CLEANFILES = $(GENERATED_FILES)

bin_SCRIPTS = $(PERLSCRIPTS) $(GENERATED_FILES)
bin_SCRIPTS = $(PERLSCRIPTS) $(GENERATED_FILES) afpstats

EXTRA_DIST = $(TEMPLATE_FILES) make-casetable.pl make-precompose.h.pl
EXTRA_DIST = $(TEMPLATE_FILES) make-casetable.pl make-precompose.h.pl afpstats
29 changes: 29 additions & 0 deletions contrib/shell_utils/afpstats
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env python

usage = """Usage:
python afpstats.py
"""

import sys
from traceback import print_exc
import dbus

def main():
bus = dbus.SystemBus()

try:
remote_object = bus.get_object("org.netatalk.AFPStats",
"/org/netatalk/AFPStats")

except dbus.DBusException:
print_exc()
sys.exit(1)

iface = dbus.Interface(remote_object, "org.netatalk.AFPStats")

reply = iface.GetUsers()
for name in reply:
print name

if __name__ == '__main__':
main()
Loading

0 comments on commit 7ac82e9

Please sign in to comment.