lintian doesn't like orphan packages with uploaders...
[debian/amanda] / common-src / security-util.c
index bc108cdd0fbfcd4747579ce02ce4f933bdd728c9..cda59ba23dd4ed80724861c663cb39345315c735 100644 (file)
@@ -988,6 +988,7 @@ bsd_recv_security_ok(
      */
     s = body;
     if (strncmp_const_skip(s, "SERVICE ", s, ch) == 0) {
+       ch=ch;
        serviceX = stralloc(s);
        serviceY = strtok(serviceX, "\n");
        if (serviceY)
@@ -1410,7 +1411,7 @@ udp_netfd_read_callback(
      * If no accept handler was setup, then just return.
      */
     if (udp->accept_fn == NULL) {
-       dbprintf(_("Receive packet from unknown source"));
+       g_debug(_("Receive packet from unknown source"));
        return;
     }
 
@@ -1738,10 +1739,10 @@ stream_read_callback(
      * We remove it first because we don't want to get in their
      * way if they reschedule it.
      */
-    tcpm_stream_read_cancel(rs);
 
     if (rs->rc->pktlen <= 0) {
        auth_debug(1, _("sec: stream_read_callback: %s\n"), rs->rc->errmsg);
+       tcpm_stream_read_cancel(rs);
        security_stream_seterror(&rs->secstr, "%s", rs->rc->errmsg);
        if(rs->closed_by_me == 0 && rs->closed_by_network == 0)
            sec_tcp_conn_put(rs->rc);
@@ -1772,7 +1773,7 @@ sec_tcp_conn_read_callback(
 
     assert(cookie != NULL);
 
-    auth_debug(1, _("sec: conn_read_callback\n"));
+    auth_debug(1, _("sec: conn_read_callback %d %d\n"), (int)rc->event_id, rc->read);
 
     /* Read the data off the wire.  If we get errors, shut down. */
     rval = tcpm_recv_token(rc, rc->read, &rc->handle, &rc->errmsg, &rc->pkt,
@@ -1792,6 +1793,7 @@ sec_tcp_conn_read_callback(
                       revent);
        /* delete our 'accept' reference */
        if (rc->accept_fn != NULL) {
+           (*rc->accept_fn)(NULL, NULL);
            if(rc->refcnt != 1) {
                dbprintf(_("STRANGE, rc->refcnt should be 1, it is %d\n"),
                          rc->refcnt);
@@ -2661,10 +2663,17 @@ find_port_for_service(
 }
 
 char *
-sec_get_authenticated_peer_name_localhost(
+sec_get_authenticated_peer_name_gethostname(
     security_handle_t *hdl G_GNUC_UNUSED)
 {
-    return "localhost";
+    char *server_hostname;
+    server_hostname = malloc(1024);
+    if (gethostname(server_hostname, 1024) == 0) {
+       server_hostname[1023] = '\0';
+       return server_hostname;
+    }
+    amfree(server_hostname);
+    return strdup("localhost");
 }
 
 char *
@@ -2674,5 +2683,5 @@ sec_get_authenticated_peer_name_hostname(
     char *hostname = ((struct sec_handle *)hdl)->hostname;
     if (!hostname)
        hostname = "";
-    return hostname;
+    return strdup(hostname);
 }