]> arthur.barton.de Git - netatalk.git/commitdiff
logout is not disconnect
authorFrank Lahm <franklahm@googlemail.com>
Wed, 30 Mar 2011 17:03:53 +0000 (19:03 +0200)
committerFrank Lahm <franklahm@googlemail.com>
Wed, 30 Mar 2011 17:03:53 +0000 (19:03 +0200)
etc/afpd/afp_dsi.c
etc/afpd/auth.c
libatalk/dsi/dsi_stream.c

index e391838cdb6b96a46b6fcfd24269b1e58c297528..11e901f159bb6a9995e77e1da5a8e792c1635e53 100644 (file)
@@ -539,13 +539,14 @@ void afp_over_dsi(AFPObj *obj)
         switch(cmd) {
 
         case DSIFUNC_CLOSE:
+            LOG(log_debug, logtype_afpd, "DSI: close session request");
             afp_dsi_close(obj);
             LOG(log_note, logtype_afpd, "done");
             return;
 
         case DSIFUNC_TICKLE:
             dsi->flags &= ~DSI_DATA; /* thats no data in the sense we use it in alarm_handler */
-            LOG(log_debug, logtype_afpd, "DSI client tickle");
+            LOG(log_debug, logtype_afpd, "DSI: client tickle");
             /* timer is not every 30 seconds anymore, so we don't get killed on the client side. */
             if ((dsi->flags & DSI_DIE))
                 dsi_tickle(dsi);
index cd2f73f3cfb7a384df8e7dc9f0ca8154eabba3af..2b659e2ba53744b1aac8d8a6bc0426240e0d2cf3 100644 (file)
@@ -932,11 +932,11 @@ int afp_logincont(AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *r
 }
 
 
-int afp_logout(AFPObj *obj, char *ibuf _U_, size_t ibuflen  _U_, char *rbuf  _U_, size_t *rbuflen  _U_)
+int afp_logout(AFPObj *obj, char *ibuf _U_, size_t ibuflen  _U_, char *rbuf  _U_, size_t *rbuflen)
 {
     LOG(log_note, logtype_afpd, "AFP logout by %s", obj->username);
     close_all_vol();
-    obj->exit(0);
+    *rbuflen = 0;
     return AFP_OK;
 }
 
index 412ca9f80b52ac57caa987b0b0ab7ff7c736c6f7..674466a7f89b4a3c418df9d9c43398b41b2d6359 100644 (file)
@@ -288,9 +288,11 @@ size_t dsi_stream_read(DSI *dsi, void *data, const size_t length)
     } else { /* eof or error */
       /* don't log EOF error if it's just after connect (OSX 10.3 probe) */
       if (len || stored || dsi->read_count) {
-          if (! (dsi->flags & DSI_DISCONNECTED))
+          if (! (dsi->flags & DSI_DISCONNECTED)) {
               LOG(log_error, logtype_dsi, "dsi_stream_read: len:%d, %s",
-                  dsi->socket, len, (len < 0) ? strerror(errno) : "unexpected EOF");
+                  len, (len < 0) ? strerror(errno) : "unexpected EOF");
+              AFP_PANIC("FIXME");
+          }
       }
       break;
     }