# # # patch "cert.cc" # from [d873a7b4eee986f2aa7f0e5f9b000d72ccf14fb9] # to [334b2ee981603c806aeaea84650224a44b8fa4da] # # patch "restrictions.cc" # from [69361677eaddd7346cd72dab35896609948f0a5d] # to [397f2e25c4394dac398e38cd82c0b61359e0d11b] # # patch "transforms.hh" # from [32eb9a8121107799ff7d323e8cd42a6b54528b49] # to [ccc69f72162cd2a4eae3b1304bebd601dcc53e4a] # ============================================================ --- cert.cc d873a7b4eee986f2aa7f0e5f9b000d72ccf14fb9 +++ cert.cc 334b2ee981603c806aeaea84650224a44b8fa4da @@ -292,7 +292,7 @@ read_cert(string const & in, cert & t) extract_variable_length_string(in, sig, pos, "cert sig"); assert_end_of_buffer(in, pos, "cert"); - cert tmp(hid, cert_name(name), cert_value(val), rsa_keypair_id(key), + cert tmp(ident, cert_name(name), cert_value(val), rsa_keypair_id(key), rsa_sha1_signature(sig)); id check; @@ -328,15 +328,16 @@ cert_signable_text(cert const & t, strin cert_signable_text(cert const & t, string & out) { base64 val_encoded(encode_base64(t.value)); + string ident_encoded(encode_hexenc(t.ident.inner()())); out.clear(); - out.reserve(4 + t.name().size() + t.ident().size() + out.reserve(4 + t.name().size() + ident_encoded.size() + val_encoded().size()); out += '['; out.append(t.name()); out += '@'; - out.append(encode_hexenc(t.ident()())); + out.append(ident_encoded); out += ':'; append_without_ws(out, val_encoded()); out += ']'; @@ -349,10 +350,12 @@ cert_hash_code(cert const & t, id & out) { base64 sig_encoded(encode_base64(t.sig)); base64 val_encoded(encode_base64(t.value)); + string ident_encoded(encode_hexenc(t.ident.inner()())); string tmp; - tmp.reserve(4+t.ident().size() * 2 + t.name().size() + val_encoded().size() + - t.key().size() + sig_encoded().size()); - tmp.append(encode_hexenc(t.ident.inner()())); + tmp.reserve(4 + ident_encoded.size() + + t.name().size() + val_encoded().size() + + t.key().size() + sig_encoded().size()); + tmp.append(ident_encoded); tmp += ':'; tmp.append(t.name()); tmp += ':'; @@ -383,7 +386,7 @@ put_simple_revision_cert(database & db, { I(!keys.signing_key().empty()); - cert t(id.inner(), nm, val, keys.signing_key); + cert t(id, nm, val, keys.signing_key); string signed_text; cert_signable_text(t, signed_text); load_key_pair(keys, t.key); ============================================================ --- restrictions.cc 69361677eaddd7346cd72dab35896609948f0a5d +++ restrictions.cc 397f2e25c4394dac398e38cd82c0b61359e0d11b @@ -17,6 +17,7 @@ #ifdef BUILD_UNIT_TESTS # include "unit_tests.hh" +# include "transforms.hh" #else # include "work.hh" #endif @@ -512,22 +513,22 @@ node_id nid_yyg; node_id nid_yyf; node_id nid_yyg; -file_id fid_f(string("1000000000000000000000000000000000000000")); -file_id fid_g(string("2000000000000000000000000000000000000000")); +file_id fid_f(decode_hexenc("1000000000000000000000000000000000000000")); +file_id fid_g(decode_hexenc("2000000000000000000000000000000000000000")); -file_id fid_xf(string("3000000000000000000000000000000000000000")); -file_id fid_xg(string("4000000000000000000000000000000000000000")); -file_id fid_xxf(string("5000000000000000000000000000000000000000")); -file_id fid_xxg(string("6000000000000000000000000000000000000000")); -file_id fid_xyf(string("7000000000000000000000000000000000000000")); -file_id fid_xyg(string("8000000000000000000000000000000000000000")); +file_id fid_xf(decode_hexenc("3000000000000000000000000000000000000000")); +file_id fid_xg(decode_hexenc("4000000000000000000000000000000000000000")); +file_id fid_xxf(decode_hexenc("5000000000000000000000000000000000000000")); +file_id fid_xxg(decode_hexenc("6000000000000000000000000000000000000000")); +file_id fid_xyf(decode_hexenc("7000000000000000000000000000000000000000")); +file_id fid_xyg(decode_hexenc("8000000000000000000000000000000000000000")); -file_id fid_yf(string("9000000000000000000000000000000000000000")); -file_id fid_yg(string("a000000000000000000000000000000000000000")); -file_id fid_yxf(string("b000000000000000000000000000000000000000")); -file_id fid_yxg(string("c000000000000000000000000000000000000000")); -file_id fid_yyf(string("d000000000000000000000000000000000000000")); -file_id fid_yyg(string("e000000000000000000000000000000000000000")); +file_id fid_yf(decode_hexenc("9000000000000000000000000000000000000000")); +file_id fid_yg(decode_hexenc("a000000000000000000000000000000000000000")); +file_id fid_yxf(decode_hexenc("b000000000000000000000000000000000000000")); +file_id fid_yxg(decode_hexenc("c000000000000000000000000000000000000000")); +file_id fid_yyf(decode_hexenc("d000000000000000000000000000000000000000")); +file_id fid_yyg(decode_hexenc("e000000000000000000000000000000000000000")); static void setup(roster_t & roster) { ============================================================ --- transforms.hh 32eb9a8121107799ff7d323e8cd42a6b54528b49 +++ transforms.hh ccc69f72162cd2a4eae3b1304bebd601dcc53e4a @@ -63,7 +63,7 @@ void encode_hexenc(T const & in, hexenc< template void encode_hexenc(T const & in, hexenc & out) -{ out = hexenc(T(xform(in()))); } +{ out = hexenc(xform(in())); } template void decode_hexenc(hexenc const & in, T & out)