# # # patch "json_msgs.cc" # from [6757f8ac1d69fa2dfa923dd29d1041196ef3679d] # to [723fad40d8a821a41a6cd76e02a62d08d92a02a3] # ============================================================ --- json_msgs.cc 6757f8ac1d69fa2dfa923dd29d1041196ef3679d +++ json_msgs.cc 723fad40d8a821a41a6cd76e02a62d08d92a02a3 @@ -339,7 +339,8 @@ encode_cset(builder b, cset const & cs) { builder tmp = b.add_obj(); tmp[syms::add_file].str(i->first.as_internal()); - tmp[syms::content].str(i->second.inner()()); + tmp[syms::content].str(encode_hexenc(i->second.inner()(), + origin::database)); } for (map >::const_iterator @@ -400,7 +401,8 @@ decode_cset(query q, cset & cs) string content; I(change[syms::content].get(content)); cs.files_added.insert(make_pair(file_path_internal(path), - file_id(content, origin::network))); + file_id(decode_hexenc(content, origin::network), + origin::network))); } else if (change[syms::patch].get(path)) { @@ -443,7 +445,8 @@ encode_rev(builder b, revision_t const & encode_rev(builder b, revision_t const & rev) { b[syms::vers].str("1"); - b[syms::new_manifest].str(rev.new_manifest.inner()()); + b[syms::new_manifest].str(encode_hexenc(rev.new_manifest.inner()(), + origin::database)); builder edges = b[syms::edges].arr(); for (edge_map::const_iterator e = rev.edges.begin(); e != rev.edges.end(); ++e) @@ -464,7 +467,8 @@ decode_rev(query q, revision_t & rev) I(q[syms::vers].get(vers)); I(vers == "1"); - rev.new_manifest = manifest_id(new_manifest, origin::network); + rev.new_manifest = manifest_id(decode_hexenc(new_manifest, origin::network), + origin::network); size_t nargs = 0; query edges = q[syms::edges]; I(edges.len(nargs)); @@ -494,7 +498,7 @@ encode_data_records(builder b, vectorid.inner()()); + tmp[syms::id].str(encode_hexenc(i->id.inner()(), origin::database)); tmp[syms::data].str(encode_base64(i->dat.inner())()); } } @@ -513,7 +517,8 @@ decode_data_records(query q, vector(dat, origin::network), origin::network); - data_records.push_back(file_data_record(file_id(id, origin::network), + data_records.push_back(file_data_record(file_id(decode_hexenc(id, origin::network), + origin::network), data)); } } @@ -529,8 +534,8 @@ encode_delta_records(builder b, vectorsrc_id.inner()()); - tmp[syms::dst_id].str(i->dst_id.inner()()); + tmp[syms::src_id].str(encode_hexenc(i->src_id.inner()(), origin::database)); + tmp[syms::dst_id].str(encode_hexenc(i->dst_id.inner()(), origin::database)); tmp[syms::delta].str(encode_base64(i->del.inner())()); } } @@ -550,8 +555,10 @@ decode_delta_records(query q, vector(del, origin::network), origin::network); - delta_records.push_back(file_delta_record(file_id(src_id, origin::network), - file_id(dst_id, origin::network), + delta_records.push_back(file_delta_record(file_id(decode_hexenc(src_id, origin::network), + origin::network), + file_id(decode_hexenc(dst_id, origin::network), + origin::network), delta)); } } @@ -641,7 +648,7 @@ json_value_t encode_msg_put_full_rev_req builder b; b[syms::type].str(syms::put_full_rev_request()); b[syms::vers].str("1"); - b[syms::id].str(rid.inner()()); + b[syms::id].str(encode_hexenc(rid.inner()(), origin::database)); builder rb = b[syms::rev].obj(); encode_rev(rb, rev); builder dat = b[syms::data_records].arr(); @@ -664,7 +671,7 @@ decode_msg_put_full_rev_request(json_val q[syms::vers].get(vers) && vers == "1" && q[syms::id].get(id)) { - rid = revision_id(id, origin::network); + rid = revision_id(decode_hexenc(id, origin::network), origin::network); query rq = q[syms::rev]; decode_rev(rq, rev); query dat = q[syms::data_records]; @@ -713,7 +720,7 @@ encode_msg_get_rev_request(revision_id c builder b; b[syms::type].str(syms::get_rev_request()); b[syms::vers].str("1"); - b[syms::id].str(rid.inner()()); + b[syms::id].str(encode_hexenc(rid.inner()(), origin::database)); return b.v; } @@ -726,7 +733,7 @@ decode_msg_get_rev_request(json_value_t q[syms::vers].get(vers) && vers == "1" && q[syms::id].get(id)) { - rid = revision_id(id, origin::network); + rid = revision_id(decode_hexenc(id, origin::network), origin::network); return true; } return false; @@ -772,7 +779,7 @@ encode_msg_put_rev_request(revision_id c builder b; b[syms::type].str(syms::put_rev_request()); b[syms::vers].str("1"); - b[syms::id].str(rid.inner()()); + b[syms::id].str(encode_hexenc(rid.inner()(), origin::database)); builder rb = b[syms::rev].obj(); encode_rev(rb, rev); return b.v; @@ -787,7 +794,7 @@ decode_msg_put_rev_request(json_value_t q[syms::vers].get(vers) && vers == "1" && q[syms::id].get(id)) { - rid = revision_id(id, origin::network); + rid = revision_id(decode_hexenc(id, origin::network), origin::network); query rq = q[syms::rev]; decode_rev(rq, rev); return true; @@ -833,7 +840,7 @@ encode_msg_get_file_data_request(file_id builder b; b[syms::type].str(syms::get_file_data_request()); b[syms::vers].str("1"); - b[syms::id].str(fid.inner()()); + b[syms::id].str(encode_hexenc(fid.inner()(), origin::database)); return b.v; } @@ -847,7 +854,7 @@ decode_msg_get_file_data_request(json_va q[syms::vers].get(vers) && vers == "1" && q[syms::id].get(id)) { - fid = file_id(id, origin::network); + fid = file_id(decode_hexenc(id, origin::network), origin::network); return true; } return false; @@ -895,7 +902,7 @@ encode_msg_put_file_data_request(file_id builder b; b[syms::type].str(syms::put_file_data_request()); b[syms::vers].str("1"); - b[syms::id].str(fid.inner()()); + b[syms::id].str(encode_hexenc(fid.inner()(), origin::database)); b[syms::data].str(encode_base64(data.inner())()); return b.v; } @@ -912,7 +919,7 @@ decode_msg_put_file_data_request(json_va q[syms::id].get(id) && q[syms::data].get(dat)) { - fid = file_id(id, origin::network); + fid = file_id(decode_hexenc(id, origin::network), origin::network); data = file_data(decode_base64_as(dat, origin::network), origin::network); return true; @@ -959,8 +966,8 @@ encode_msg_get_file_delta_request(file_i builder b; b[syms::type].str(syms::get_file_delta_request()); b[syms::vers].str("1"); - b[syms::src_id].str(src_id.inner()()); - b[syms::dst_id].str(dst_id.inner()()); + b[syms::src_id].str(encode_hexenc(src_id.inner()(), origin::database)); + b[syms::dst_id].str(encode_hexenc(dst_id.inner()(), origin::database)); return b.v; } @@ -976,8 +983,8 @@ decode_msg_get_file_delta_request(json_v q[syms::src_id].get(src) && q[syms::dst_id].get(dst)) { - src_id = file_id(src, origin::network); - dst_id = file_id(dst, origin::network); + src_id = file_id(decode_hexenc(src, origin::network), origin::network); + dst_id = file_id(decode_hexenc(dst, origin::network), origin::network); return true; } return false; @@ -1026,8 +1033,8 @@ encode_msg_put_file_delta_request(file_i builder b; b[syms::type].str(syms::put_file_delta_request()); b[syms::vers].str("1"); - b[syms::src_id].str(src_id.inner()()); - b[syms::dst_id].str(dst_id.inner()()); + b[syms::src_id].str(encode_hexenc(src_id.inner()(), origin::database)); + b[syms::dst_id].str(encode_hexenc(dst_id.inner()(), origin::database)); b[syms::delta].str(encode_base64(delta.inner())()); return b.v; } @@ -1046,8 +1053,8 @@ decode_msg_put_file_delta_request(json_v q[syms::src_id].get(src) && q[syms::delta].get(del)) { - src_id = file_id(src, origin::network); - dst_id = file_id(dst, origin::network); + src_id = file_id(decode_hexenc(src, origin::network), origin::network); + dst_id = file_id(decode_hexenc(dst, origin::network), origin::network); delta = file_delta(decode_base64_as(del, origin::network), origin::network); return true;