* 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
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)
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"
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 */
};
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);
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);
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);
(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);
}
{
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;
/* 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. */
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)) {
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));
}
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
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);
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));
/* 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) {
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
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
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 <sys/stream.h>
-#include <sys/ddi.h>]], [[\
-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
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])