"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/feature/hs/hs_descriptor.c" between
tor-0.4.6.4-rc.tar.gz and tor-0.4.6.5.tar.gz

About: Tor is an anonymous Internet communication system - a network of virtual tunnels that allows people and groups to improve their privacy and security on the Internet.

hs_descriptor.c  (tor-0.4.6.4-rc):hs_descriptor.c  (tor-0.4.6.5)
skipping to change at line 139 skipping to change at line 139
T1_START(str_desc_auth_type, R3_DESC_AUTH_TYPE, GE(1), NO_OBJ), T1_START(str_desc_auth_type, R3_DESC_AUTH_TYPE, GE(1), NO_OBJ),
T1(str_desc_auth_key, R3_DESC_AUTH_KEY, GE(1), NO_OBJ), T1(str_desc_auth_key, R3_DESC_AUTH_KEY, GE(1), NO_OBJ),
T1N(str_desc_auth_client, R3_DESC_AUTH_CLIENT, GE(3), NO_OBJ), T1N(str_desc_auth_client, R3_DESC_AUTH_CLIENT, GE(3), NO_OBJ),
T1(str_encrypted, R3_ENCRYPTED, NO_ARGS, NEED_OBJ), T1(str_encrypted, R3_ENCRYPTED, NO_ARGS, NEED_OBJ),
END_OF_TABLE END_OF_TABLE
}; };
/** Descriptor ruleset for the encrypted section. */ /** Descriptor ruleset for the encrypted section. */
static token_rule_t hs_desc_encrypted_v3_token_table[] = { static token_rule_t hs_desc_encrypted_v3_token_table[] = {
T1_START(str_create2_formats, R3_CREATE2_FORMATS, CONCAT_ARGS, NO_OBJ), T1_START(str_create2_formats, R3_CREATE2_FORMATS, CONCAT_ARGS, NO_OBJ),
T01(str_intro_auth_required, R3_INTRO_AUTH_REQUIRED, ARGS, NO_OBJ), T01(str_intro_auth_required, R3_INTRO_AUTH_REQUIRED, GE(1), NO_OBJ),
T01(str_single_onion, R3_SINGLE_ONION_SERVICE, ARGS, NO_OBJ), T01(str_single_onion, R3_SINGLE_ONION_SERVICE, ARGS, NO_OBJ),
END_OF_TABLE END_OF_TABLE
}; };
/** Descriptor ruleset for the introduction points section. */ /** Descriptor ruleset for the introduction points section. */
static token_rule_t hs_desc_intro_point_v3_token_table[] = { static token_rule_t hs_desc_intro_point_v3_token_table[] = {
T1_START(str_intro_point, R3_INTRODUCTION_POINT, EQ(1), NO_OBJ), T1_START(str_intro_point, R3_INTRODUCTION_POINT, EQ(1), NO_OBJ),
T1N(str_ip_onion_key, R3_INTRO_ONION_KEY, GE(2), OBJ_OK), T1N(str_ip_onion_key, R3_INTRO_ONION_KEY, GE(2), OBJ_OK),
T1(str_ip_auth_key, R3_INTRO_AUTH_KEY, NO_ARGS, NEED_OBJ), T1(str_ip_auth_key, R3_INTRO_AUTH_KEY, NO_ARGS, NEED_OBJ),
T1(str_ip_enc_key, R3_INTRO_ENC_KEY, GE(2), OBJ_OK), T1(str_ip_enc_key, R3_INTRO_ENC_KEY, GE(2), OBJ_OK),
skipping to change at line 2324 skipping to change at line 2324
decode_create2_list(desc_encrypted_out, tok->args[0]); decode_create2_list(desc_encrypted_out, tok->args[0]);
/* Must support ntor according to the specification */ /* Must support ntor according to the specification */
if (!desc_encrypted_out->create2_ntor) { if (!desc_encrypted_out->create2_ntor) {
log_warn(LD_REND, "Service create2-formats does not include ntor."); log_warn(LD_REND, "Service create2-formats does not include ntor.");
goto err; goto err;
} }
/* Authentication type. It's optional but only once. */ /* Authentication type. It's optional but only once. */
tok = find_opt_by_keyword(tokens, R3_INTRO_AUTH_REQUIRED); tok = find_opt_by_keyword(tokens, R3_INTRO_AUTH_REQUIRED);
if (tok) { if (tok) {
tor_assert(tok->n_args >= 1);
if (!decode_auth_type(desc_encrypted_out, tok->args[0])) { if (!decode_auth_type(desc_encrypted_out, tok->args[0])) {
log_warn(LD_REND, "Service descriptor authentication type has " log_warn(LD_REND, "Service descriptor authentication type has "
"invalid entry(ies)."); "invalid entry(ies).");
goto err; goto err;
} }
} }
/* Is this service a single onion service? */ /* Is this service a single onion service? */
tok = find_opt_by_keyword(tokens, R3_SINGLE_ONION_SERVICE); tok = find_opt_by_keyword(tokens, R3_SINGLE_ONION_SERVICE);
if (tok) { if (tok) {
 End of changes. 2 change blocks. 
1 lines changed or deleted 2 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)