]> arthur.barton.de Git - netatalk.git/commitdiff
Merge branch-2-1
authorFrank Lahm <franklahm@googlemail.com>
Thu, 1 Jul 2010 15:15:46 +0000 (17:15 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Thu, 1 Jul 2010 15:15:46 +0000 (17:15 +0200)
1  2 
NEWS
libatalk/dsi/dsi_tcp.c

diff --combined NEWS
index 3d56a87832eaba3e7328ff6633fcdd9eaed1319d,1b32911b8d35f69df9524c87e2de7c929bedcb8c..00674250acfa2f16ab36f228404bcea34cd2b0f4
--- 1/NEWS
--- 2/NEWS
+++ b/NEWS
@@@ -1,17 -1,8 +1,17 @@@
- * UPD: Support for BerkeleyDB 5.0.
 +Changes in 2.2
 +==============
 +
 +* UPD: AppleTalk are disabled by configure script. if use, --enable-ddp.
 +* NEW: afpd: dynamic directoy cache
 +* NEW: afpd: POSIX 1e ACL support
 +* NEW: afpd: automagic Zeroconf registration with avahi, registering both
 +       the service _afpovertcp._tcp and TimeMachine volumes with _adisk._tcp.
 +
  Changes in 2.1.3
  ================
  
  * FIX: afpd: fix a serious error in networking IO code
+ * UPD: Support for BerkeleyDB 5.0.
  
  Changes in 2.1.2
  ================
diff --combined libatalk/dsi/dsi_tcp.c
index 659ea7e561b3050a0dfe99a31f4d1ea0a6eee4f3,74d92de1db91183e245a02ca857af8d7ebd4edb2..ee6d0a92ee59b797239631e301d50068188c201c
@@@ -100,7 -100,7 +100,7 @@@ static void dsi_tcp_timeout(DSI *dsi
       * we have to test for EINTR
       */
      if (setsockopt(dsi->socket, SOL_SOCKET, SO_SNDTIMEO, &tv, sizeof(tv)) < 0) {
-         LOG(log_error, logtype_default, "dsi_tcp_open: unable to set timeout %s", strerror(errno));
+         LOG(log_error, logtype_dsi, "dsi_tcp_open: unable to set timeout %s", strerror(errno));
          exit(EXITERR_CLNT);
      }
  }
  /* alarm handler for tcp_open */
  static void timeout_handler(int sig _U_)
  {
-     LOG(log_error, logtype_default, "dsi_tcp_open: connection timed out");
+     LOG(log_error, logtype_dsi, "dsi_tcp_open: connection timed out");
      exit(EXITERR_CLNT);
  }
  
@@@ -128,7 -128,7 +128,7 @@@ static int dsi_tcp_open(DSI *dsi
          request_init(&req, RQ_DAEMON, dsi->program, RQ_FILE, dsi->socket, NULL);
          fromhost(&req);
          if (!hosts_access(&req)) {
-             LOG(deny_severity, logtype_default, "refused connect from %s", eval_client(&req));
+             LOG(deny_severity, logtype_dsi, "refused connect from %s", eval_client(&req));
              close(dsi->socket);
              errno = ECONNREFUSED;
              dsi->socket = -1;
  
          if ((sigaction(SIGALRM, &newact, &oldact) < 0) ||
              (setitimer(ITIMER_REAL, &timer, NULL) < 0)) {
-             LOG(log_error, logtype_default, "dsi_tcp_open: %s", strerror(errno));
+             LOG(log_error, logtype_dsi, "dsi_tcp_open: %s", strerror(errno));
              exit(EXITERR_SYS);
          }
  #endif
              exit(EXITERR_CLNT);
          }
          if (len < 2 || (block[0] > DSIFL_MAX) || (block[1] > DSIFUNC_MAX)) {
-             LOG(log_error, logtype_default, "dsi_tcp_open: invalid header");
+             LOG(log_error, logtype_dsi, "dsi_tcp_open: invalid header");
              exit(EXITERR_CLNT);
          }
  
              if (len > 0)
                  stored += len;
              else {
-                 LOG(log_error, logtype_default, "dsi_tcp_open: stream_read: %s", strerror(errno));
+                 LOG(log_error, logtype_dsi, "dsi_tcp_open: stream_read: %s", strerror(errno));
                  exit(EXITERR_CLNT);
              }
          }
              if (len > 0)
                  stored += len;
              else {
-                 LOG(log_error, logtype_default, "dsi_tcp_open: stream_read: %s", strerror(errno));
+                 LOG(log_error, logtype_dsi, "dsi_tcp_open: stream_read: %s", strerror(errno));
                  exit(EXITERR_CLNT);
              }
          }
  
          dsi_tcp_timeout(dsi);
  
-         LOG(log_info, logtype_default, "AFP/TCP session from %s:%u",
+         LOG(log_info, logtype_dsi, "AFP/TCP session from %s:%u",
              getip_string((struct sockaddr *)&dsi->client),
              getip_port((struct sockaddr *)&dsi->client));
      }
  #define IFF_SLAVE 0
  #endif
  
 -static void guess_interface(DSI *dsi, const char *hostname)
 +static void guess_interface(DSI *dsi, const char *hostname, const char *port)
  {
      int fd;
      char **start, **list;
  
          memset(&dsi->server, 0, sizeof(struct sockaddr_storage));
          sa->sin_family = AF_INET;
 -        sa->sin_port = htons(548);
 +        sa->sin_port = htons(atoi(port));
          sa->sin_addr = ((struct sockaddr_in *) &ifr.ifr_addr)->sin_addr;
  
-         LOG(log_info, logtype_default, "dsi_tcp: '%s:%s' on interface '%s' will be used instead.",
 -        LOG(log_info, logtype_dsi, "dsi_tcp: '%s' on interface '%s' will be used instead.",
 -                  getip_string((struct sockaddr *)&dsi->server), ifr.ifr_name);
++        LOG(log_info, logtype_dsi, "dsi_tcp: '%s:%s' on interface '%s' will be used instead.",
 +            getip_string((struct sockaddr *)&dsi->server), port, ifr.ifr_name);
          goto iflist_done;
      }
-     LOG(log_info, logtype_default, "dsi_tcp (Chooser will not select afp/tcp) "
+     LOG(log_info, logtype_dsi, "dsi_tcp (Chooser will not select afp/tcp) "
          "Check to make sure %s is in /etc/hosts and the correct domain is in "
          "/etc/resolv.conf: %s", hostname, strerror(errno));
  
@@@ -313,7 -313,7 +313,7 @@@ int dsi_tcp_init(DSI *dsi, const char *
          hints.ai_flags |= AI_NUMERICHOST;
  
      if ((ret = getaddrinfo(address ? address : NULL, port ? port : "548", &hints, &servinfo)) != 0) {
-         LOG(log_error, logtype_default, "dsi_tcp_init: getaddrinfo: %s\n", gai_strerror(ret));
+         LOG(log_error, logtype_dsi, "dsi_tcp_init: getaddrinfo: %s\n", gai_strerror(ret));
          return 0;
      }
  
          /* loop through all the results and bind to the first we can */
          for (p = servinfo; p != NULL; p = p->ai_next) {
              if ((dsi->serversock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == -1) {
-                 LOG(log_info, logtype_default, "dsi_tcp_init: socket: %s", strerror(errno));
+                 LOG(log_info, logtype_dsi, "dsi_tcp_init: socket: %s", strerror(errno));
                  continue;
              }
  
              
              if (bind(dsi->serversock, p->ai_addr, p->ai_addrlen) == -1) {
                  close(dsi->serversock);
-                 LOG(log_info, logtype_default, "dsi_tcp_init: bind: %s\n", strerror(errno));
+                 LOG(log_info, logtype_dsi, "dsi_tcp_init: bind: %s\n", strerror(errno));
                  continue;
              }
  
              if (listen(dsi->serversock, DSI_TCPMAXPEND) < 0) {
                  close(dsi->serversock);
-                 LOG(log_info, logtype_default, "dsi_tcp_init: listen: %s\n", strerror(errno));
+                 LOG(log_info, logtype_dsi, "dsi_tcp_init: listen: %s\n", strerror(errno));
                  continue;
              }
              
          }
  
          if (p == NULL)  {
-             LOG(log_error, logtype_default, "dsi_tcp_init: no suitable network config for TCP socket");
+             LOG(log_error, logtype_dsi, "dsi_tcp_init: no suitable network config for TCP socket");
              freeaddrinfo(servinfo);
              return 0;
          }
      hints.ai_socktype = SOCK_STREAM;
  
      if ((ret = getaddrinfo(hostname, port ? port : "548", &hints, &servinfo)) != 0) {
-         LOG(log_info, logtype_default, "dsi_tcp_init: getaddrinfo '%s': %s\n", hostname, gai_strerror(ret));
+         LOG(log_info, logtype_dsi, "dsi_tcp_init: getaddrinfo '%s': %s\n", hostname, gai_strerror(ret));
          goto interfaces;
      }
  
          freeaddrinfo(servinfo);
          return 1;
      }
-     LOG(log_info, logtype_default, "dsi_tcp: hostname '%s' resolves to loopback address", hostname);
+     LOG(log_info, logtype_dsi, "dsi_tcp: hostname '%s' resolves to loopback address", hostname);
      freeaddrinfo(servinfo);
  
  interfaces:
 -    guess_interface(dsi, hostname);
 +    guess_interface(dsi, hostname, port ? port : "548");
      return 1;
  }