]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/afp_avahi.c
Merge remote-tracking branch 'origin/branch-netatalk-3-0' into develop
[netatalk.git] / etc / afpd / afp_avahi.c
index ef7d529336b7dab60cbaa237b283f1a32ef99f2e..5218d51758aebb0554298465c34c63436c67d541 100644 (file)
 #include <atalk/util.h>
 #include <atalk/dsi.h>
 #include <atalk/unicode.h>
+#include <atalk/netatalk_conf.h>
 
+#include "afp_zeroconf.h"
 #include "afp_avahi.h"
-#include "afp_config.h"
-#include "volume.h"
 
 /*****************************************************************
  * Global variables
@@ -44,7 +44,6 @@ static void publish_reply(AvahiEntryGroup *g,
  */
 static void register_stuff(void) {
     uint port;
-    const AFPObj *obj;
     const struct vol *volume;
     DSI *dsi;
     char name[MAXINSTANCENAMELEN+1];
@@ -71,7 +70,7 @@ static void register_stuff(void) {
                
         for (volume = getvolumes(); volume; volume = volume->v_next) {
 
-            if (convert_string(CH_UCS2, CH_UTF8_MAC, volume->v_name, -1, tmpname, 255) <= 0) {
+            if (convert_string(CH_UCS2, CH_UTF8_MAC, volume->v_u8mname, -1, tmpname, 255) <= 0) {
                 LOG ( log_error, logtype_afpd, "Could not set Zeroconf volume name for TimeMachine");
                 goto fail;
             }
@@ -92,16 +91,18 @@ static void register_stuff(void) {
         }
 
         /* AFP server */
-        for (dsi = obj->dsi; dsi; dsi = dsi->next) {
+        for (dsi = ctx->obj->dsi; dsi; dsi = dsi->next) {
             port = getip_port((struct sockaddr *)&dsi->server);
 
-            if (convert_string(obj->options.unixcharset,
+            LOG(log_info, logtype_afpd, "hostname: %s", ctx->obj->options.hostname);
+
+            if (convert_string(ctx->obj->options.unixcharset,
                                CH_UTF8,
-                               obj->options.hostname,
+                               ctx->obj->options.hostname,
                                -1,
                                name,
                                MAXINSTANCENAMELEN) <= 0) {
-                LOG(log_error, logtype_afpd, "Could not set Zeroconf instance name");
+                LOG(log_error, logtype_afpd, "Could not set Zeroconf instance name: %s", ctx->obj->options.hostname);
                 goto fail;
             }
             if ((dsi->bonjourname = strdup(name)) == NULL) {
@@ -142,8 +143,8 @@ static void register_stuff(void) {
                 goto fail;
             }  /* if */
 
-            if (obj->options.mimicmodel) {
-                strlist2 = avahi_string_list_add_printf(strlist2, "model=%s", obj->options.mimicmodel);
+            if (ctx->obj->options.mimicmodel) {
+                strlist2 = avahi_string_list_add_printf(strlist2, "model=%s", ctx->obj->options.mimicmodel);
                 if (avahi_entry_group_add_service_strlst(ctx->group,
                                                          AVAHI_IF_UNSPEC,
                                                          AVAHI_PROTO_UNSPEC,