]> arthur.barton.de Git - netatalk.git/commitdiff
Merge branch 'develop'
authorFrank Lahm <franklahm@googlemail.com>
Thu, 1 Nov 2012 04:47:19 +0000 (05:47 +0100)
committerFrank Lahm <franklahm@googlemail.com>
Thu, 1 Nov 2012 04:47:19 +0000 (05:47 +0100)
21 files changed:
1  2 
VERSION
config/Makefile.am
configure.ac
etc/afpd/Makefile.am
etc/afpd/afp_dsi.c
etc/afpd/file.c
etc/afpd/main.c
etc/netatalk/netatalk.c
etc/uams/uams_dhx2_pam.c
include/atalk/dsi.h
include/atalk/errchk.h
include/atalk/globals.h
include/atalk/logger.h
include/atalk/util.h
libatalk/Makefile.am
libatalk/unicode/charcnv.c
libatalk/util/logger.c
libatalk/util/netatalk_conf.c
macros/netatalk.m4
macros/summary.m4
test/afpd/Makefile.am

diff --cc VERSION
index 9d5d4c53019c0c626bb6eb4321237d444f32940b,abbd04eea2d743779a00caff977f35dc0a1f900f..cc6641d589363b9140ea3591128cfe18e9fe36d1
+++ b/VERSION
@@@ -1,1 -1,1 +1,1 @@@
- stp2
 -3.0.1dev
++stp3dev
index 505732624ac14d100a7e446354dae4cf6f76d7f0,57c85ff3a67250cbcd3ec769f42c3461b5a6766a..541447747a44fb12fbd13285f57ead424222ffcc
@@@ -3,10 -3,10 +3,10 @@@
  SUBDIRS = pam
  SUFFIXES = .tmpl .
  
 -TMPLFILES = afp.conf.tmpl
 -GENFILES = afp.conf
 +TMPLFILES = afp.conf.tmpl dbus-session.conf.tmpl
 +GENFILES = afp.conf dbus-session.conf
  CLEANFILES = $(GENFILES)
- EXTRA_DIST = afp.conf.tmpl dbus-session.conf.tmpl
 -EXTRA_DIST = afp.conf.tmpl extmap.conf
++EXTRA_DIST = afp.conf.tmpl extmap.conf dbus-session.conf.tmpl
  
  OVERWRITE_CONFIG = @OVERWRITE_CONFIG@
  
diff --cc configure.ac
Simple merge
Simple merge
Simple merge
diff --cc etc/afpd/file.c
index d97863d1564bc06365595d7fb191af24f0528d1e,c4c55fb8290a68f5e434952dfba44d21ff46bfc5..c6fa166fcc203ad7d795ccc4c5462c0a8d3f9887
@@@ -738,9 -747,11 +748,11 @@@ int afp_createfile(AFPObj *obj, char *i
  createfile_iderr:
      ad_flush(&ad);
      ad_close(&ad, ADFLAGS_DF|ADFLAGS_HF );
-     fce_register_new_file(s_path);
+     fce_register(FCE_FILE_CREATE, fullpathname(upath), NULL, fce_file);
 +    sl_index_file(path);
+ createfile_done:
      curdir->d_offcnt++;
 -
      setvoltime(obj, vol );
  
      return (retvalue);
diff --cc etc/afpd/main.c
Simple merge
index 3b62eca4bb6124777ecbeaa1e4fc7163f5fd9087,bbae394ccc49b4a4802b3382e522c60fd45ef852..2bd8df2189bdf1e090797ae03f019f4f75eb1be5
@@@ -154,10 -113,16 +154,17 @@@ static void sigterm_cb(evutil_socket_t 
  static void sigquit_cb(evutil_socket_t fd, short what, void *arg)
  {
      LOG(log_note, logtype_afpd, "Exiting on SIGQUIT");
 -    kill_childs(SIGQUIT, &afpd_pid, &cnid_metad_pid, NULL);
 +    system("tracker-control -t");
 +    kill_childs(SIGQUIT, &afpd_pid, &cnid_metad_pid, &dbus_pid, NULL);
  }
  
+ /* SIGQUIT callback */
+ static void sighup_cb(evutil_socket_t fd, short what, void *arg)
+ {
+     LOG(log_note, logtype_afpd, "Received SIGHUP, sending all processes signal to reload config");
+     kill_childs(SIGHUP, &afpd_pid, &cnid_metad_pid, NULL);
+ }
  /* SIGCHLD callback */
  static void sigchld_cb(evutil_socket_t fd, short what, void *arg)
  {
@@@ -363,22 -319,9 +371,23 @@@ int main(int argc, char **argv
      sigdelset(&blocksigs, SIGTERM);
      sigdelset(&blocksigs, SIGQUIT);
      sigdelset(&blocksigs, SIGCHLD);
+     sigdelset(&blocksigs, SIGHUP);
      sigprocmask(SIG_SETMASK, &blocksigs, NULL);
  
 +    dbus_path = iniparser_getstring(obj.iniconfig, INISEC_GLOBAL, "dbus daemon path", "/bin/dbus-daemon");
 +    LOG(log_debug, logtype_default, "DBUS: '%s'", dbus_path);
 +    if ((dbus_pid = run_process(dbus_path, "--config-file=" _PATH_CONFDIR "dbus-session.conf", NULL)) == -1) {
 +        LOG(log_error, logtype_default, "Error starting '%s'", dbus_path);
 +        netatalk_exit(EXITERR_CONF);
 +    }
 +
 +    /* Allow dbus some time to start up */
 +    sleep(1);
 +
 +    setenv("DBUS_SESSION_BUS_ADDRESS", "unix:path=/tmp/spotlight.ipc", 1);
 +    set_sl_volumes();
 +    system(TRACKER_PREFIX "/bin/tracker-control -s");
 +
      /* run the event loop */
      ret = event_base_dispatch(base);
  
Simple merge
Simple merge
index d304e632b37eb59df61bfe065cb04d40eb10599a,ccc66eb6f4ac1a9ae7ff52a57c3291d219e3ed02..47576bec029424ce74de5bbb4a48da544e904e75
  
  #define EC_INIT int ret = 0
  #define EC_STATUS(a) ret = (a)
+ #define EC_EXIT_STATUS(a) do { ret = (a); goto cleanup; } while (0)
  #define EC_FAIL do { ret = -1; goto cleanup; } while (0)
 -#define EC_FAIL_LOG(a, ...)                     \
 +#define EC_FAIL_LOG(...)                     \
      do {               \
 -        LOG(log_error, logtype_default, a, __VA_ARGS__);   \
 +        LOG(log_error, logtype_default, __VA_ARGS__);   \
          ret = -1;      \
          goto cleanup;  \
      } while (0)
Simple merge
index 43a64c91bb09a1ed1d388c61c3af43e130230555,1847c0d50b8ee746e583b749b3e8ec02e683f5f8..3f1396558487994a65792543ffc14322043ab74f
@@@ -91,7 -91,8 +91,9 @@@ enum logtypes 
    logtype_afpd,
    logtype_dsi,
    logtype_uams,
+   logtype_fce,
+   logtype_ad,
 +  logtype_sl,
    logtype_end_of_list_marker  /* don't put any logtypes after this */
  };
  
index e5025bef0f60fd1cb0ae667722ece5c1b5b34c7d,ad2709a4613660c7553d899fe4e542f3f6e63e5a..5f584a945a45c7e8bb1768abea1efce504240461
@@@ -189,6 -190,12 +191,13 @@@ extern const char *basename_safe(const 
   *****************************************************************/
  
  extern bstring rel_path_in_vol(const char *path, const char *volpath);
 +extern cnid_t cnid_for_path(struct _cnid_db *cdb, const char *volpath, const char *path, cnid_t *did);
  
+ /******************************************************************
+  * cnid.c
+  *****************************************************************/
+ extern void initline   (int, char *);
+ extern int  parseline  (int, char *);
  #endif  /* _ATALK_UTIL_H */
index 5b269737aa5b8d259a9f7fc36dc76385d7856b8f,fb0e7456e38f2b00759395ac8324a4a0dd7de78e..15324ac190b6efe56a8ef0d949997daf3250a106
@@@ -29,8 -29,9 +29,9 @@@ VERSION_INFO = 2:0:
  #   3.0.0-beta2     1:0:0
  #   3.0             1:0:0
  #   3.0.1           2:0:0
+ #   3.0.2           3:0:1
  
 -SUBDIRS = acl adouble bstring compat cnid dsi iniparser tdb util unicode vfs
 +SUBDIRS = acl adouble bstring compat cnid dsi iniparser talloc tdb util unicode vfs
  
  lib_LTLIBRARIES = libatalk.la
  
Simple merge
index 8b761702461cab8732c4f9fc75aaadbce0c85bef,55630d1b0d7ebe5a059dc6ae543a54901a14d09f..7290867b459ae8a5d6187530c2d1ca2eda30b0b3
@@@ -60,8 -60,9 +60,10 @@@ Netatalk 2001 (c
    "AFPDaemon",                       \
    "DSI",                             \
    "UAMS",                            \
-   "end_of_list_marker"}              \
+   "FCE",                             \
+   "ad",                              \
 +  "Spotlight",                       \
+   "end_of_list_marker"}
  
  /* =========================================================================
     Config
@@@ -85,7 -86,8 +87,9 @@@ UAM_MODULE_EXPORT logtype_conf_t type_c
      DEFAULT_LOG_CONFIG, /* logtype_afpd */
      DEFAULT_LOG_CONFIG, /* logtype_dsi */
      DEFAULT_LOG_CONFIG, /* logtype_uams */
 -    DEFAULT_LOG_CONFIG,  /* logtype_fce */
 -    DEFAULT_LOG_CONFIG  /* logtype_ad */
++    DEFAULT_LOG_CONFIG, /* logtype_fce */
++    DEFAULT_LOG_CONFIG, /* logtype_ad */
 +    DEFAULT_LOG_CONFIG  /* logtype_sl */
  };
  
  static void syslog_setup(int loglevel, enum logtypes logtype, int display_options, int facility);
Simple merge
index c9ff000fde900ee0bd0e82ba6ee2585d3092e90a,51dbdcab882c17394a0b8bcdae010dc19fe2b2ee..024a0971ca1e3ad1c2b05ddc19aece8065dff0d6
@@@ -13,66 -13,32 +13,75 @@@ AC_DEFUN([AC_DEVELOPER], 
      AM_CONDITIONAL(DEVELOPER, test x"$enable_dev" = x"yes")
  ])
  
 +dnl Tracker, for Spotlight
 +AC_DEFUN([AC_NETATALK_SPOTLIGHT], [
 +    ac_cv_tracker_pkg_default=tracker-sparql-0.12
 +    AC_ARG_WITH([tracker-pkg-config],
 +      [AS_HELP_STRING([--with-tracker-pkg-config],[name of the Tracker SPARQL pkg in pkg-config])],
 +      [ac_cv_tracker_pkg=$withval],
 +      [ac_cv_tracker_pkg=$ac_cv_tracker_pkg_default])
 +
 +    AC_MSG_NOTICE([searching for $ac_cv_tracker_pkg])
 +
 +    PKG_CHECK_MODULES([TRACKER], [$ac_cv_tracker_pkg >= 0.12], [ac_cv_have_tracker=yes], [ac_cv_have_tracker=no])
 +
 +    if test x"$ac_cv_have_tracker" = x"no" ; then
 +        if test x"$need_tracker" = x"yes" ; then
 +            AC_MSG_ERROR([$ac_cv_tracker_pkg not found])
 +        fi
 +    else
 +        AC_DEFINE(HAVE_TRACKER, 1, [Define if Tracker library is available])
 +        ac_cv_tracker_prefix=`pkg-config --variable=prefix $ac_cv_tracker_pkg`
 +        AC_DEFINE_UNQUOTED(TRACKER_PREFIX, ["$ac_cv_tracker_prefix"], [Path to Tracker])
 +      fi
 +
 +    AC_SUBST(TRACKER_CFLAGS)
 +    AC_SUBST(TRACKER_LIBS)
 +    AM_CONDITIONAL(HAVE_TRACKER, [test x"$ac_cv_have_tracker" = x"yes"])
 +
 +    ac_cv_tracker_miner_pkg_default=tracker-miner-0.12
 +    AC_ARG_WITH([tracker-miner-pkg-config],
 +      [AS_HELP_STRING([--with-tracker-miner-pkg-config],[name of the Tracker miner pkg in pkg-config])],
 +      [ac_cv_tracker_miner_pkg=$withval],
 +      [ac_cv_tracker_miner_pkg=$ac_cv_tracker_miner_pkg_default])
 +
 +    AC_MSG_NOTICE([searching for $ac_cv_tracker_miner_pkg])
 +
 +    PKG_CHECK_MODULES([TRACKER_MINER], [$ac_cv_tracker_miner_pkg >= 0.12], [ac_cv_have_tracker_miner=yes], [ac_cv_have_tracker_miner=no])
 +
 +    if test x"$ac_cv_have_tracker_miner" = x"yes" ; then
 +        AC_DEFINE(HAVE_TRACKER_MINER, 1, [Define if Tracker miner library is available])
 +        AC_SUBST(TRACKER_MINER_CFLAGS)
 +        AC_SUBST(TRACKER_MINER_LIBS)
 +      fi
 +])
 +
  dnl Whether to disable bundled libevent
  AC_DEFUN([AC_NETATALK_LIBEVENT], [
-     AC_MSG_CHECKING([whether to disable bundled libevent (define CPPFLAGS and LDFLAGS otherwise appropiately to pick up installed version)])
-     AC_ARG_ENABLE(
-         bundled-libevent,
-         [AS_HELP_STRING([--disable-bundled-libevent],[whether the bundled version of libevent shall not be used (define CPPFLAGS and LDFLAGS otherwise appropiately to pick up installed version)
-         ])],
-         use_bundled_libevent=$enableval,
+     AC_MSG_CHECKING([whether to use bundled libevent])
+     AC_ARG_WITH(
+         libevent,
+         [AS_HELP_STRING([--with-libevent],[whether to use the bundled libevent (default: yes)])],
+         use_bundled_libevent=$withval,
          use_bundled_libevent=yes
      )
-     if test x"$use_bundled_libevent" = x"yes" ; then
-         AC_MSG_RESULT([no])
-         AC_CONFIG_SUBDIRS([libevent])
-     else
-         AC_MSG_RESULT([yes])
+     AC_ARG_WITH(
+         libevent-header,
+         [AS_HELP_STRING([--with-libevent-header],[path to libevent header files])],
+         [use_bundled_libevent=no; LIBEVENT_CFLAGS=-I$withval]
+     )
+     AC_ARG_WITH(
+         libevent-lib,
+         [AS_HELP_STRING([--with-libevent-lib],[path to libevent library])],
+         [use_bundled_libevent=no; LIBEVENT_LDFLAGS=-L$withval]
+     )
+     if test x"$LIBEVENT_CFLAGS" = x"-Iyes" -o x"$LIBEVENT_LDFLAGS" = x"-Lyes" ; then
+         AC_MSG_ERROR([--with-libevent requires a path])
      fi
+     AC_MSG_RESULT([$use_bundled_libevent])
+     AC_CONFIG_SUBDIRS([libevent])
+     AC_SUBST(LIBEVENT_CFLAGS)
+     AC_SUBST(LIBEVENT_LDFLAGS)
      AM_CONDITIONAL(USE_BUILTIN_LIBEVENT, test x"$use_bundled_libevent" = x"yes")
  ])
  
Simple merge
Simple merge