diff --git a/deps/build_protobuf_c.sh b/deps/build_protobuf_c.sh
index 167f00cda43fbdaf6561165d432b811cb013e574..caacbcec08ba3d90fe75faf226bc5dc0d18878de 100755
--- a/deps/build_protobuf_c.sh
+++ b/deps/build_protobuf_c.sh
@@ -4,7 +4,7 @@
 # These should not really be needed for users or even normal
 # developers of maestro, but if you change mstro_pool.proto you'll
 # need protoc-c.
-SCRIPTDIR=`dirname $0`
+SCRIPTDIR=`pwd`
 UTILROOT=${SCRIPTDIR}/util
 
 set -e
diff --git a/protocols/mstro_pool.pb-c.c b/protocols/mstro_pool.pb-c.c
index 0ca3f4e4e86903d612942aa910aebe4166e59766..d5455fcebfca6ac31e389fc77d2ad454dcb160cf 100644
--- a/protocols/mstro_pool.pb-c.c
+++ b/protocols/mstro_pool.pb-c.c
@@ -3807,7 +3807,7 @@ const ProtobufCMessageDescriptor mstro__pool__transfer_ticket_ofi__descriptor =
   (ProtobufCMessageInit) mstro__pool__transfer_ticket_ofi__init,
   NULL,NULL,NULL    /* reserved[123] */
 };
-static const ProtobufCFieldDescriptor mstro__pool__transfer_ticket__field_descriptors[9] =
+static const ProtobufCFieldDescriptor mstro__pool__transfer_ticket__field_descriptors[10] =
 {
   {
     "cdoid",
@@ -3917,9 +3917,22 @@ static const ProtobufCFieldDescriptor mstro__pool__transfer_ticket__field_descri
     0 | PROTOBUF_C_FIELD_FLAG_ONEOF,             /* flags */
     0,NULL,NULL    /* reserved1,reserved2, etc */
   },
+  {
+    "data_size",
+    10,
+    PROTOBUF_C_LABEL_NONE,
+    PROTOBUF_C_TYPE_FIXED64,
+    0,   /* quantifier_offset */
+    offsetof(Mstro__Pool__TransferTicket, data_size),
+    NULL,
+    NULL,
+    0,             /* flags */
+    0,NULL,NULL    /* reserved1,reserved2, etc */
+  },
 };
 static const unsigned mstro__pool__transfer_ticket__field_indices_by_name[] = {
   0,   /* field[0] = cdoid */
+  9,   /* field[9] = data_size */
   5,   /* field[5] = gfs */
   4,   /* field[4] = methods */
   7,   /* field[7] = mio */
@@ -3932,7 +3945,7 @@ static const unsigned mstro__pool__transfer_ticket__field_indices_by_name[] = {
 static const ProtobufCIntRange mstro__pool__transfer_ticket__number_ranges[1 + 1] =
 {
   { 1, 0 },
-  { 0, 9 }
+  { 0, 10 }
 };
 const ProtobufCMessageDescriptor mstro__pool__transfer_ticket__descriptor =
 {
@@ -3942,7 +3955,7 @@ const ProtobufCMessageDescriptor mstro__pool__transfer_ticket__descriptor =
   "Mstro__Pool__TransferTicket",
   "mstro.pool",
   sizeof(Mstro__Pool__TransferTicket),
-  9,
+  10,
   mstro__pool__transfer_ticket__field_descriptors,
   mstro__pool__transfer_ticket__field_indices_by_name,
   1,  mstro__pool__transfer_ticket__number_ranges,
diff --git a/protocols/mstro_pool.pb-c.h b/protocols/mstro_pool.pb-c.h
index 9e7c6251b8cd7f7b7da26111bc58fd7a693ea23f..de214646462649f39bac6f616fd651d6e73a29d6 100644
--- a/protocols/mstro_pool.pb-c.h
+++ b/protocols/mstro_pool.pb-c.h
@@ -735,6 +735,10 @@ struct  _Mstro__Pool__TransferTicket
    * FIXME: this duplicates some of the enum type that the oneof union generates 
    */
   Mstro__Pool__TransportKind methods;
+  /*
+   * FIXME: proper attribute structure, plus eventual Mamba array info 
+   */
+  uint64_t data_size;
   Mstro__Pool__TransferTicket__TicketCase ticket_case;
   union {
     Mstro__Pool__TransferTicketGFS *gfs;
@@ -745,7 +749,7 @@ struct  _Mstro__Pool__TransferTicket
 };
 #define MSTRO__POOL__TRANSFER_TICKET__INIT \
  { PROTOBUF_C_MESSAGE_INIT (&mstro__pool__transfer_ticket__descriptor) \
-    , NULL, NULL, 0, (char *)protobuf_c_empty_string, MSTRO__POOL__TRANSPORT_KIND__INVALID_TRANSPORT_KIND, MSTRO__POOL__TRANSFER_TICKET__TICKET__NOT_SET, {0} }
+    , NULL, NULL, 0, (char *)protobuf_c_empty_string, MSTRO__POOL__TRANSPORT_KIND__INVALID_TRANSPORT_KIND, 0, MSTRO__POOL__TRANSFER_TICKET__TICKET__NOT_SET, {0} }
 
 
 /*