           ( utime_t)time(NULL)));
     if (are_attributes_spooled(jcr)) {
        if (fseeko(jcr->dir_bsock->m_spool_fd, 0, SEEK_END) != 0) {
-@@ -654,7 +660,23 @@
+@@ -654,7 +681,10 @@
        dir_send_job_status(jcr);
        Jmsg(jcr, M_INFO, 0, _("Sending spooled attrs to the Director. Despooling %s bytes ...\n"),
              edit_uint64_with_commas(size, ec1));
 -      jcr->dir_bsock->despool(update_attr_spool_size, size);
 +
-+      /* send full spool file name */
-+      POOLMEM *name  = get_pool_memory(PM_MESSAGE);
-+      make_unique_spool_filename(jcr, &name, jcr->dir_bsock->m_fd);
-+      bash_spaces(name);
-+      jcr->dir_bsock->fsend("BlastAttr Job=%s File=%s\n",
-+                            jcr->Job, name);
-+      free_pool_memory(name);
-+
-+      if (jcr->dir_bsock->recv() <= 0) {
-+         Jmsg(jcr, M_FATAL, 0, _("Network error on BlastAttributes.\n"));
++      if (!despool_attr_spool_file(jcr)) {
 +         goto bail_out;
-+      }
-+
-+      if (!bstrcmp(jcr->dir_bsock->msg, "1000 OK BlastAttr\n")) {
-+         jcr->dir_bsock->despool(update_attr_spool_size, size);
 +      }
        return close_attr_spool_file(jcr, jcr->dir_bsock);
     }
     return true;
-@@ -664,13 +686,6 @@
+@@ -664,13 +694,6 @@
     return false;
  }
  

+
+   spool_fd = fopen(file, "rb");
+   if (!spool_fd) {
+      /* send an error message */
+      goto bail_out;
+   }

Index: src/dird/catreq.c
===================================================================
--- src/dird/catreq.c	(revision 8270)
+++ src/dird/catreq.c	(working copy)
@@ -356,14 +356,7 @@
    return;
 }
