From: Ralph Boehme Date: Tue, 4 Jun 2013 10:38:23 +0000 (+0200) Subject: Merge remote-tracking branch 'origin/branch-netatalk-3-0' into develop X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=commitdiff_plain;h=ec0ae51672bb9f91be79ba28edd70ac36bf36211;hp=952a2d8e011254243e5c3707ef857eab01625f93 Merge remote-tracking branch 'origin/branch-netatalk-3-0' into develop Conflicts: NEWS --- diff --git a/NEWS b/NEWS index 1cfeab2d..7adbb30d 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,9 @@ Changes in 3.1.0 * UPD: Add configure option --with-afpstats for overriding the result of autodetecting dbus-glib presence +Changes in 3.0.5 +================ + Changes in 3.0.4 ================ * FIX: Opening files without metadata EA may result in an invalid diff --git a/configure.ac b/configure.ac index 3c9cb988..a570f097 100644 --- a/configure.ac +++ b/configure.ac @@ -205,7 +205,7 @@ AC_NETATALK_LOCKFILE dnl Check for Docbook and build documentation if found AX_CHECK_DOCBOOK -CFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include $CFLAGS" +CPPFLAGS="-I\$(top_srcdir)/include -I\$(top_builddir)/include $CPPFLAGS" UAMS_PATH="${uams_path}" AC_SUBST(LIBS) diff --git a/distrib/initscripts/rc.netbsd.tmpl b/distrib/initscripts/rc.netbsd.tmpl index 1f84c439..af5602a5 100644 --- a/distrib/initscripts/rc.netbsd.tmpl +++ b/distrib/initscripts/rc.netbsd.tmpl @@ -13,7 +13,7 @@ rcvar=$name command=":SBINDIR:/netatalk" etcdir=":ETCDIR:" pidfile="/var/run/${name}.pid" -required_files="$etcdir/afp.conf +required_files="$etcdir/afp.conf" load_rc_config $name run_rc_command "$1" diff --git a/include/atalk/dsi.h b/include/atalk/dsi.h index 11452550..c816d964 100644 --- a/include/atalk/dsi.h +++ b/include/atalk/dsi.h @@ -48,7 +48,7 @@ struct dsi_block { union { uint32_t dsi_code; /* error code */ uint32_t dsi_doff; /* data offset */ - }; + } dsi_data; uint32_t dsi_len; /* total data length */ uint32_t dsi_reserved; /* reserved field */ }; diff --git a/libatalk/dsi/dsi_close.c b/libatalk/dsi/dsi_close.c index 892b982e..199954fc 100644 --- a/libatalk/dsi/dsi_close.c +++ b/libatalk/dsi/dsi_close.c @@ -21,7 +21,7 @@ void dsi_close(DSI *dsi) dsi->header.dsi_flags = DSIFL_REQUEST; dsi->header.dsi_command = DSIFUNC_CLOSE; dsi->header.dsi_requestID = htons(dsi_serverID(dsi)); - dsi->header.dsi_code = dsi->header.dsi_reserved = htonl(0); + dsi->header.dsi_data.dsi_code = dsi->header.dsi_reserved = htonl(0); dsi->cmdlen = 0; dsi_send(dsi); dsi->proto_close(dsi); diff --git a/libatalk/dsi/dsi_cmdreply.c b/libatalk/dsi/dsi_cmdreply.c index 5b0d627d..04d17083 100644 --- a/libatalk/dsi/dsi_cmdreply.c +++ b/libatalk/dsi/dsi_cmdreply.c @@ -25,7 +25,7 @@ int dsi_cmdreply(DSI *dsi, const int err) dsi->header.dsi_flags = DSIFL_REPLY; dsi->header.dsi_len = htonl(dsi->datalen); - dsi->header.dsi_code = htonl(err); + dsi->header.dsi_data.dsi_code = htonl(err); ret = dsi_stream_send(dsi, dsi->data, dsi->datalen); diff --git a/libatalk/dsi/dsi_getsess.c b/libatalk/dsi/dsi_getsess.c index 38477be9..a928d34e 100644 --- a/libatalk/dsi/dsi_getsess.c +++ b/libatalk/dsi/dsi_getsess.c @@ -65,9 +65,9 @@ int dsi_getsession(DSI *dsi, server_child_t *serv_children, int tickleval, afp_c LOG(log_error, logtype_dsi, "dsi_getsess: %s", strerror(errno)); close(ipc_fds[0]); dsi->header.dsi_flags = DSIFL_REPLY; - dsi->header.dsi_code = DSIERR_SERVBUSY; + dsi->header.dsi_data.dsi_code = DSIERR_SERVBUSY; dsi_send(dsi); - dsi->header.dsi_code = DSIERR_OK; + dsi->header.dsi_data.dsi_code = DSIERR_OK; kill(pid, SIGKILL); } dsi->proto_close(dsi); @@ -81,7 +81,7 @@ int dsi_getsession(DSI *dsi, server_child_t *serv_children, int tickleval, afp_c (dsi->header.dsi_command == DSIFUNC_OPEN)) { LOG(log_info, logtype_dsi, "dsi_getsess: too many connections"); dsi->header.dsi_flags = DSIFL_REPLY; - dsi->header.dsi_code = DSIERR_TOOMANY; + dsi->header.dsi_data.dsi_code = DSIERR_TOOMANY; dsi_send(dsi); exit(EXITERR_CLNT); } diff --git a/libatalk/dsi/dsi_getstat.c b/libatalk/dsi/dsi_getstat.c index dac4f76b..4be9b802 100644 --- a/libatalk/dsi/dsi_getstat.c +++ b/libatalk/dsi/dsi_getstat.c @@ -20,7 +20,7 @@ void dsi_getstatus(DSI *dsi) { dsi->header.dsi_flags = DSIFL_REPLY; /*dsi->header.dsi_command = DSIFUNC_STAT;*/ - dsi->header.dsi_code = dsi->header.dsi_reserved = 0; + dsi->header.dsi_data.dsi_code = dsi->header.dsi_reserved = 0; memcpy(dsi->commands, dsi->status, dsi->statuslen); dsi->cmdlen = dsi->statuslen; diff --git a/libatalk/dsi/dsi_opensess.c b/libatalk/dsi/dsi_opensess.c index a2dcb4c9..2945f9b1 100644 --- a/libatalk/dsi/dsi_opensess.c +++ b/libatalk/dsi/dsi_opensess.c @@ -44,7 +44,7 @@ void dsi_opensession(DSI *dsi) /* let the client know the server quantum. we don't use the * max server quantum due to a bug in appleshare client 3.8.6. */ dsi->header.dsi_flags = DSIFL_REPLY; - dsi->header.dsi_code = 0; + dsi->header.dsi_data.dsi_code = 0; /* dsi->header.dsi_command = DSIFUNC_OPEN;*/ dsi->cmdlen = 2 * (2 + sizeof(i)); /* length of data. dsi_send uses it. */ diff --git a/libatalk/dsi/dsi_read.c b/libatalk/dsi/dsi_read.c index a0cbd872..31ee3bdf 100644 --- a/libatalk/dsi/dsi_read.c +++ b/libatalk/dsi/dsi_read.c @@ -31,7 +31,7 @@ ssize_t dsi_readinit(DSI *dsi, void *buf, const size_t buflen, const size_t size dsi->flags |= DSI_NOREPLY; /* we will handle our own replies */ dsi->header.dsi_flags = DSIFL_REPLY; dsi->header.dsi_len = htonl(size); - dsi->header.dsi_code = htonl(err); + dsi->header.dsi_data.dsi_code = htonl(err); dsi->in_write++; if (dsi_stream_send(dsi, buf, buflen)) { diff --git a/libatalk/dsi/dsi_stream.c b/libatalk/dsi/dsi_stream.c index 94890dd8..770258c5 100644 --- a/libatalk/dsi/dsi_stream.c +++ b/libatalk/dsi/dsi_stream.c @@ -45,7 +45,7 @@ static void dsi_header_pack_reply(const DSI *dsi, char *buf) buf[0] = dsi->header.dsi_flags; buf[1] = dsi->header.dsi_command; memcpy(buf + 2, &dsi->header.dsi_requestID, sizeof(dsi->header.dsi_requestID)); - memcpy(buf + 4, &dsi->header.dsi_code, sizeof(dsi->header.dsi_code)); + memcpy(buf + 4, &dsi->header.dsi_data.dsi_code, sizeof(dsi->header.dsi_data.dsi_code)); memcpy(buf + 8, &dsi->header.dsi_len, sizeof(dsi->header.dsi_len)); memcpy(buf + 12, &dsi->header.dsi_reserved, sizeof(dsi->header.dsi_reserved)); } @@ -366,7 +366,7 @@ ssize_t dsi_stream_read_file(DSI *dsi, const int fromfd, off_t offset, const siz dsi->flags |= DSI_NOREPLY; dsi->header.dsi_flags = DSIFL_REPLY; dsi->header.dsi_len = htonl(length); - dsi->header.dsi_code = htonl(err); + dsi->header.dsi_data.dsi_code = htonl(err); dsi_header_pack_reply(dsi, block); #ifdef HAVE_SENDFILEV @@ -615,7 +615,7 @@ int dsi_stream_receive(DSI *dsi) return 0; memcpy(&dsi->header.dsi_requestID, block + 2, sizeof(dsi->header.dsi_requestID)); - memcpy(&dsi->header.dsi_code, block + 4, sizeof(dsi->header.dsi_code)); + memcpy(&dsi->header.dsi_data.dsi_code, block + 4, sizeof(dsi->header.dsi_data.dsi_code)); memcpy(&dsi->header.dsi_len, block + 8, sizeof(dsi->header.dsi_len)); memcpy(&dsi->header.dsi_reserved, block + 12, sizeof(dsi->header.dsi_reserved)); dsi->clientID = ntohs(dsi->header.dsi_requestID); diff --git a/libatalk/dsi/dsi_tcp.c b/libatalk/dsi/dsi_tcp.c index f73147a8..731252e6 100644 --- a/libatalk/dsi/dsi_tcp.c +++ b/libatalk/dsi/dsi_tcp.c @@ -209,7 +209,7 @@ static pid_t dsi_tcp_open(DSI *dsi) dsi->header.dsi_command = block[1]; memcpy(&dsi->header.dsi_requestID, block + 2, sizeof(dsi->header.dsi_requestID)); - memcpy(&dsi->header.dsi_code, block + 4, sizeof(dsi->header.dsi_code)); + memcpy(&dsi->header.dsi_data.dsi_code, block + 4, sizeof(dsi->header.dsi_data.dsi_code)); memcpy(&dsi->header.dsi_len, block + 8, sizeof(dsi->header.dsi_len)); memcpy(&dsi->header.dsi_reserved, block + 12, sizeof(dsi->header.dsi_reserved)); diff --git a/libatalk/dsi/dsi_write.c b/libatalk/dsi/dsi_write.c index 65a479e1..dc35cafa 100644 --- a/libatalk/dsi/dsi_write.c +++ b/libatalk/dsi/dsi_write.c @@ -32,7 +32,7 @@ size_t dsi_writeinit(DSI *dsi, void *buf, const size_t buflen _U_) /* figure out how much data we have. do a couple checks for 0 * data */ - header = ntohl(dsi->header.dsi_doff); + header = ntohl(dsi->header.dsi_data.dsi_doff); dsi->datasize = header ? ntohl(dsi->header.dsi_len) - header : 0; if (dsi->datasize > 0) { diff --git a/macros/db3-check.m4 b/macros/db3-check.m4 index 902220be..4135e5ce 100644 --- a/macros/db3-check.m4 +++ b/macros/db3-check.m4 @@ -155,6 +155,9 @@ if test "x$bdb_required" = "xyes"; then if test x"${atalk_cv_bdb_version}" = x"yes"; then BDB_CFLAGS="-I${bdbdir}/include${subdir}" BDB_LIBS="-L${bdblibdir} ${atalk_cv_lib_db}" + if test x"$need_dash_r" = x"yes"; then + BDB_LIBS="$BDB_LIBS -R${bdblibdir}" + fi BDB_BIN="$bdbbindir" BDB_PATH="$bdbdir" bdbfound=yes @@ -178,6 +181,9 @@ if test "x$bdb_required" = "xyes"; then if test x"${atalk_cv_bdb_version}" = x"yes"; then BDB_CFLAGS="-I${bdbdir}/include${subdir}" BDB_LIBS="-L${bdblibdir} ${atalk_cv_lib_db}" + if test x"$need_dash_r" = x"yes"; then + BDB_LIBS="$BDB_LIBS -R${bdblibdir}" + fi BDB_BIN="$bdbbindir" BDB_PATH="$bdbdir" bdbfound=yes diff --git a/macros/netatalk.m4 b/macros/netatalk.m4 index e54627ae..b2116bea 100644 --- a/macros/netatalk.m4 +++ b/macros/netatalk.m4 @@ -654,87 +654,8 @@ if test x"$this_os" = "xsolaris"; then AC_DEFINE(SOLARIS, 1, [Solaris compatibility macro]) AC_DEFINE(_XOPEN_SOURCE, 600, [Solaris compilation environment]) AC_DEFINE(__EXTENSIONS__, 1, [Solaris compilation environment]) - CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS" need_dash_r=yes init_style=solaris - - solaris_module=no - AC_MSG_CHECKING([if we can build Solaris kernel module]) - if test -x /usr/ccs/bin/ld && test x"$netatalk_cv_ddp_enabled" = x"yes" ; then - solaris_module=yes - fi - AC_MSG_RESULT([$solaris_module]) - - COMPILE_64BIT_KMODULE=no - KCFLAGS="" - KLDFLAGS="" - COMPILE_KERNEL_GCC=no - - if test "$solaris_module" = "yes"; then - dnl Solaris kernel module stuff - AC_MSG_CHECKING([if we have to build a 64bit kernel module]) - - # check for isainfo, if not found it has to be a 32 bit kernel (<=2.6) - if test -x /usr/bin/isainfo; then - # check for 64 bit platform - if isainfo -kv | grep '^64-bit'; then - COMPILE_64BIT_KMODULE=yes - fi - fi - - AC_MSG_RESULT([$COMPILE_64BIT_KMODULE]) - - if test "${GCC}" = yes; then - COMPILE_KERNEL_GCC=yes - if test "$COMPILE_64BIT_KMODULE" = yes; then - - AC_MSG_CHECKING([if we can build a 64bit kernel module]) - - case `$CC --version 2>/dev/null` in - [[12]].* | 3.0.*) - COMPILE_64BIT_KMODULE=no - COMPILE_KERNEL_GCC=no - solaris_module=no;; - *) - # use for 64 bit - KCFLAGS="-m64" - #KLDFLAGS="-melf64_sparc" - KLDFLAGS="-64";; - esac - - AC_MSG_RESULT([$COMPILE_64BIT_KMODULE]) - - else - KCFLAGS="" - KLDFLAGS="" - fi - KCFLAGS="$KCFLAGS -D_KERNEL -Wall -Wstrict-prototypes" - else - if test "$COMPILE_64BIT_KMODULE" = yes; then - # use Sun CC (for a 64-bit kernel, uncomment " -xarch=v9 -xregs=no%appl ") - KCFLAGS="-xarch=v9 -xregs=no%appl" - KLDFLAGS="-64" - else - KCFLAGS="" - KLDFLAGS="" - fi - KCFLAGS="-D_KERNEL $KCFLAGS -mno-app-regs -munaligned-doubles -fpcc-struct-return" - fi - - AC_CACHE_CHECK([for timeout_id_t],netatalk_cv_HAVE_TIMEOUT_ID_T,[ - AC_LINK_IFELSE([AC_LANG_PROGRAM([[\ -#include -#include ]], [[\ -timeout_id_t dummy; -]])],[netatalk_cv_HAVE_TIMEOUT_ID_T=yes],[netatalk_cv_HAVE_TIMEOUT_ID_T=no])]) - - AC_DEFINE(HAVE_TIMEOUT_ID_T, test x"$netatalk_cv_HAVE_TIMEOUT_ID" = x"yes", [define for timeout_id_t]) - fi - - AC_SUBST(COMPILE_KERNEL_GCC) - AC_SUBST(COMPILE_64BIT_KMODULE) - AC_SUBST(KCFLAGS) - AC_SUBST(KLDFLAGS) fi dnl Whether to run ldconfig after installing libraries diff --git a/macros/summary.m4 b/macros/summary.m4 index 5dde4073..cf64f2a6 100644 --- a/macros/summary.m4 +++ b/macros/summary.m4 @@ -84,9 +84,10 @@ AC_DEFUN([AC_NETATALK_LIBS_SUMMARY], [ dnl ################################################# dnl # Display summary of libraries detected - AC_MSG_RESULT([Using libraries:]) - AC_MSG_RESULT([ LIBS = $LIBS]) + AC_MSG_RESULT([Compilation summary:]) + AC_MSG_RESULT([ CPPFLAGS = $CPPFLAGS]) AC_MSG_RESULT([ CFLAGS = $CFLAGS]) + AC_MSG_RESULT([ LIBS = $LIBS]) AC_MSG_RESULT([ PTHREADS:]) AC_MSG_RESULT([ LIBS = $PTHREAD_LIBS]) AC_MSG_RESULT([ CFLAGS = $PTHREAD_CFLAGS])