1. 02 Nov, 2012 1 commit
  2. 15 Oct, 2012 1 commit
  3. 12 Oct, 2012 1 commit
    • Nick Mathewson's avatar
      Rename all reserved C identifiers we defined · 56c0baa5
      Nick Mathewson authored
      For everything we declare that starts with _, make it end with _ instead.
      
      This is a machine-generated patch.  To make it, start by getting the
      list of reserved identifiers using:
      
           git ls-tree -r --name-only HEAD | grep  '\.[ch]$' | \
             xargs ctags --c-kinds=defglmpstuvx -o - | grep '^_' | \
             cut -f 1 | sort| uniq
      
      You might need gnu ctags.
      
      Then pipe the output through this script:
      ==============================
      
      use strict;
      
      BEGIN { print "#!/usr/bin/perl -w -i -p\n\n"; }
      
      chomp;
      
      next if (
           /^__attribute__/ or
           /^__func__/ or
           /^_FILE_OFFSET_BITS/ or
           /^_FORTIFY_SOURCE/ or
           /^_GNU_SOURCE/ or
           /^_WIN32/ or
           /^_DARWIN_UNLIMITED/ or
           /^_FILE_OFFSET_BITS/ or
           /^_LARGEFILE64_SOURCE/ or
           /^_LFS64_LARGEFILE/ or
           /^__cdecl/ or
           /^__attribute__/ or
           /^__func__/ or
          /^_WIN32_WINNT/);
      
      my $ident = $_;
      
      my $better = $ident;
      $better =~ s/^_//;
      
      $better = "${better}_";
      
      print "s/(?<![A-Za-z0-9_])$ident(?![A-Za-z0-9_])/$better/g;\n";
      ==============================
      
      Then run the resulting script on all the files you want to change.
      (That is, all the C except that in src/ext.)  The resulting script was:
      
      ==============================
      
      s/(?<![A-Za-z0-9_])_address(?![A-Za-z0-9_])/address_/g;
      s/(?<![A-Za-z0-9_])_aes_fill_buf(?![A-Za-z0-9_])/aes_fill_buf_/g;
      s/(?<![A-Za-z0-9_])_AllowInvalid(?![A-Za-z0-9_])/AllowInvalid_/g;
      s/(?<![A-Za-z0-9_])_AP_CONN_STATE_MAX(?![A-Za-z0-9_])/AP_CONN_STATE_MAX_/g;
      s/(?<![A-Za-z0-9_])_AP_CONN_STATE_MIN(?![A-Za-z0-9_])/AP_CONN_STATE_MIN_/g;
      s/(?<![A-Za-z0-9_])_assert_cache_ok(?![A-Za-z0-9_])/assert_cache_ok_/g;
      s/(?<![A-Za-z0-9_])_A_UNKNOWN(?![A-Za-z0-9_])/A_UNKNOWN_/g;
      s/(?<![A-Za-z0-9_])_base(?![A-Za-z0-9_])/base_/g;
      s/(?<![A-Za-z0-9_])_BridgePassword_AuthDigest(?![A-Za-z0-9_])/BridgePassword_AuthDigest_/g;
      s/(?<![A-Za-z0-9_])_buffer_stats_compare_entries(?![A-Za-z0-9_])/buffer_stats_compare_entries_/g;
      s/(?<![A-Za-z0-9_])_chan_circid_entries_eq(?![A-Za-z0-9_])/chan_circid_entries_eq_/g;
      s/(?<![A-Za-z0-9_])_chan_circid_entry_hash(?![A-Za-z0-9_])/chan_circid_entry_hash_/g;
      s/(?<![A-Za-z0-9_])_check_no_tls_errors(?![A-Za-z0-9_])/check_no_tls_errors_/g;
      s/(?<![A-Za-z0-9_])_c_hist_compare(?![A-Za-z0-9_])/c_hist_compare_/g;
      s/(?<![A-Za-z0-9_])_circ(?![A-Za-z0-9_])/circ_/g;
      s/(?<![A-Za-z0-9_])_circuit_get_global_list(?![A-Za-z0-9_])/circuit_get_global_list_/g;
      s/(?<![A-Za-z0-9_])_circuit_mark_for_close(?![A-Za-z0-9_])/circuit_mark_for_close_/g;
      s/(?<![A-Za-z0-9_])_CIRCUIT_PURPOSE_C_MAX(?![A-Za-z0-9_])/CIRCUIT_PURPOSE_C_MAX_/g;
      s/(?<![A-Za-z0-9_])_CIRCUIT_PURPOSE_MAX(?![A-Za-z0-9_])/CIRCUIT_PURPOSE_MAX_/g;
      s/(?<![A-Za-z0-9_])_CIRCUIT_PURPOSE_MIN(?![A-Za-z0-9_])/CIRCUIT_PURPOSE_MIN_/g;
      s/(?<![A-Za-z0-9_])_CIRCUIT_PURPOSE_OR_MAX(?![A-Za-z0-9_])/CIRCUIT_PURPOSE_OR_MAX_/g;
      s/(?<![A-Za-z0-9_])_CIRCUIT_PURPOSE_OR_MIN(?![A-Za-z0-9_])/CIRCUIT_PURPOSE_OR_MIN_/g;
      s/(?<![A-Za-z0-9_])_cmp_int_strings(?![A-Za-z0-9_])/cmp_int_strings_/g;
      s/(?<![A-Za-z0-9_])_compare_cached_resolves_by_expiry(?![A-Za-z0-9_])/compare_cached_resolves_by_expiry_/g;
      s/(?<![A-Za-z0-9_])_compare_digests(?![A-Za-z0-9_])/compare_digests_/g;
      s/(?<![A-Za-z0-9_])_compare_digests256(?![A-Za-z0-9_])/compare_digests256_/g;
      s/(?<![A-Za-z0-9_])_compare_dir_src_ents_by_authority_id(?![A-Za-z0-9_])/compare_dir_src_ents_by_authority_id_/g;
      s/(?<![A-Za-z0-9_])_compare_duration_idx(?![A-Za-z0-9_])/compare_duration_idx_/g;
      s/(?<![A-Za-z0-9_])_compare_int(?![A-Za-z0-9_])/compare_int_/g;
      s/(?<![A-Za-z0-9_])_compare_networkstatus_v2_published_on(?![A-Za-z0-9_])/compare_networkstatus_v2_published_on_/g;
      s/(?<![A-Za-z0-9_])_compare_old_routers_by_identity(?![A-Za-z0-9_])/compare_old_routers_by_identity_/g;
      s/(?<![A-Za-z0-9_])_compare_orports(?![A-Za-z0-9_])/compare_orports_/g;
      s/(?<![A-Za-z0-9_])_compare_pairs(?![A-Za-z0-9_])/compare_pairs_/g;
      s/(?<![A-Za-z0-9_])_compare_routerinfo_by_id_digest(?![A-Za-z0-9_])/compare_routerinfo_by_id_digest_/g;
      s/(?<![A-Za-z0-9_])_compare_routerinfo_by_ip_and_bw(?![A-Za-z0-9_])/compare_routerinfo_by_ip_and_bw_/g;
      s/(?<![A-Za-z0-9_])_compare_signed_descriptors_by_age(?![A-Za-z0-9_])/compare_signed_descriptors_by_age_/g;
      s/(?<![A-Za-z0-9_])_compare_string_ptrs(?![A-Za-z0-9_])/compare_string_ptrs_/g;
      s/(?<![A-Za-z0-9_])_compare_strings_for_pqueue(?![A-Za-z0-9_])/compare_strings_for_pqueue_/g;
      s/(?<![A-Za-z0-9_])_compare_strs(?![A-Za-z0-9_])/compare_strs_/g;
      s/(?<![A-Za-z0-9_])_compare_tor_version_str_ptr(?![A-Za-z0-9_])/compare_tor_version_str_ptr_/g;
      s/(?<![A-Za-z0-9_])_compare_vote_rs(?![A-Za-z0-9_])/compare_vote_rs_/g;
      s/(?<![A-Za-z0-9_])_compare_votes_by_authority_id(?![A-Za-z0-9_])/compare_votes_by_authority_id_/g;
      s/(?<![A-Za-z0-9_])_compare_without_first_ch(?![A-Za-z0-9_])/compare_without_first_ch_/g;
      s/(?<![A-Za-z0-9_])_connection_free(?![A-Za-z0-9_])/connection_free_/g;
      s/(?<![A-Za-z0-9_])_connection_mark_and_flush(?![A-Za-z0-9_])/connection_mark_and_flush_/g;
      s/(?<![A-Za-z0-9_])_connection_mark_for_close(?![A-Za-z0-9_])/connection_mark_for_close_/g;
      s/(?<![A-Za-z0-9_])_connection_mark_unattached_ap(?![A-Za-z0-9_])/connection_mark_unattached_ap_/g;
      s/(?<![A-Za-z0-9_])_connection_write_to_buf_impl(?![A-Za-z0-9_])/connection_write_to_buf_impl_/g;
      s/(?<![A-Za-z0-9_])_ConnLimit(?![A-Za-z0-9_])/ConnLimit_/g;
      s/(?<![A-Za-z0-9_])_CONN_TYPE_MAX(?![A-Za-z0-9_])/CONN_TYPE_MAX_/g;
      s/(?<![A-Za-z0-9_])_CONN_TYPE_MIN(?![A-Za-z0-9_])/CONN_TYPE_MIN_/g;
      s/(?<![A-Za-z0-9_])_CONTROL_CONN_STATE_MAX(?![A-Za-z0-9_])/CONTROL_CONN_STATE_MAX_/g;
      s/(?<![A-Za-z0-9_])_CONTROL_CONN_STATE_MIN(?![A-Za-z0-9_])/CONTROL_CONN_STATE_MIN_/g;
      s/(?<![A-Za-z0-9_])_CPUWORKER_STATE_MAX(?![A-Za-z0-9_])/CPUWORKER_STATE_MAX_/g;
      s/(?<![A-Za-z0-9_])_CPUWORKER_STATE_MIN(?![A-Za-z0-9_])/CPUWORKER_STATE_MIN_/g;
      s/(?<![A-Za-z0-9_])_crypto_dh_get_dh(?![A-Za-z0-9_])/crypto_dh_get_dh_/g;
      s/(?<![A-Za-z0-9_])_crypto_global_initialized(?![A-Za-z0-9_])/crypto_global_initialized_/g;
      s/(?<![A-Za-z0-9_])_crypto_new_pk_from_rsa(?![A-Za-z0-9_])/crypto_new_pk_from_rsa_/g;
      s/(?<![A-Za-z0-9_])_crypto_pk_get_evp_pkey(?![A-Za-z0-9_])/crypto_pk_get_evp_pkey_/g;
      s/(?<![A-Za-z0-9_])_crypto_pk_get_rsa(?![A-Za-z0-9_])/crypto_pk_get_rsa_/g;
      s/(?<![A-Za-z0-9_])_DIR_CONN_STATE_MAX(?![A-Za-z0-9_])/DIR_CONN_STATE_MAX_/g;
      s/(?<![A-Za-z0-9_])_DIR_CONN_STATE_MIN(?![A-Za-z0-9_])/DIR_CONN_STATE_MIN_/g;
      s/(?<![A-Za-z0-9_])_DIR_PURPOSE_MAX(?![A-Za-z0-9_])/DIR_PURPOSE_MAX_/g;
      s/(?<![A-Za-z0-9_])_DIR_PURPOSE_MIN(?![A-Za-z0-9_])/DIR_PURPOSE_MIN_/g;
      s/(?<![A-Za-z0-9_])_dirreq_map_get(?![A-Za-z0-9_])/dirreq_map_get_/g;
      s/(?<![A-Za-z0-9_])_dirreq_map_put(?![A-Za-z0-9_])/dirreq_map_put_/g;
      s/(?<![A-Za-z0-9_])_dns_randfn(?![A-Za-z0-9_])/dns_randfn_/g;
      s/(?<![A-Za-z0-9_])_dummy(?![A-Za-z0-9_])/dummy_/g;
      s/(?<![A-Za-z0-9_])_edge(?![A-Za-z0-9_])/edge_/g;
      s/(?<![A-Za-z0-9_])_END_CIRC_REASON_MAX(?![A-Za-z0-9_])/END_CIRC_REASON_MAX_/g;
      s/(?<![A-Za-z0-9_])_END_CIRC_REASON_MIN(?![A-Za-z0-9_])/END_CIRC_REASON_MIN_/g;
      s/(?<![A-Za-z0-9_])_EOF(?![A-Za-z0-9_])/EOF_/g;
      s/(?<![A-Za-z0-9_])_ERR(?![A-Za-z0-9_])/ERR_/g;
      s/(?<![A-Za-z0-9_])_escaped_val(?![A-Za-z0-9_])/escaped_val_/g;
      s/(?<![A-Za-z0-9_])_evdns_log(?![A-Za-z0-9_])/evdns_log_/g;
      s/(?<![A-Za-z0-9_])_evdns_nameserver_add_impl(?![A-Za-z0-9_])/evdns_nameserver_add_impl_/g;
      s/(?<![A-Za-z0-9_])_EVENT_MAX(?![A-Za-z0-9_])/EVENT_MAX_/g;
      s/(?<![A-Za-z0-9_])_EVENT_MIN(?![A-Za-z0-9_])/EVENT_MIN_/g;
      s/(?<![A-Za-z0-9_])_ExcludeExitNodesUnion(?![A-Za-z0-9_])/ExcludeExitNodesUnion_/g;
      s/(?<![A-Za-z0-9_])_EXIT_CONN_STATE_MAX(?![A-Za-z0-9_])/EXIT_CONN_STATE_MAX_/g;
      s/(?<![A-Za-z0-9_])_EXIT_CONN_STATE_MIN(?![A-Za-z0-9_])/EXIT_CONN_STATE_MIN_/g;
      s/(?<![A-Za-z0-9_])_EXIT_PURPOSE_MAX(?![A-Za-z0-9_])/EXIT_PURPOSE_MAX_/g;
      s/(?<![A-Za-z0-9_])_EXIT_PURPOSE_MIN(?![A-Za-z0-9_])/EXIT_PURPOSE_MIN_/g;
      s/(?<![A-Za-z0-9_])_extrainfo_free(?![A-Za-z0-9_])/extrainfo_free_/g;
      s/(?<![A-Za-z0-9_])_find_by_keyword(?![A-Za-z0-9_])/find_by_keyword_/g;
      s/(?<![A-Za-z0-9_])_free_cached_dir(?![A-Za-z0-9_])/free_cached_dir_/g;
      s/(?<![A-Za-z0-9_])_free_cached_resolve(?![A-Za-z0-9_])/free_cached_resolve_/g;
      s/(?<![A-Za-z0-9_])_free_duplicate_routerstatus_entry(?![A-Za-z0-9_])/free_duplicate_routerstatus_entry_/g;
      s/(?<![A-Za-z0-9_])_free_link_history(?![A-Za-z0-9_])/free_link_history_/g;
      s/(?<![A-Za-z0-9_])_geoip_compare_entries(?![A-Za-z0-9_])/geoip_compare_entries_/g;
      s/(?<![A-Za-z0-9_])_geoip_compare_key_to_entry(?![A-Za-z0-9_])/geoip_compare_key_to_entry_/g;
      s/(?<![A-Za-z0-9_])_hex_decode_digit(?![A-Za-z0-9_])/hex_decode_digit_/g;
      s/(?<![A-Za-z0-9_])_idxplus1(?![A-Za-z0-9_])/idxplus1_/g;
      s/(?<![A-Za-z0-9_])__libc_enable_secure(?![A-Za-z0-9_])/_libc_enable_secure_/g;
      s/(?<![A-Za-z0-9_])_log_debug(?![A-Za-z0-9_])/log_debug_/g;
      s/(?<![A-Za-z0-9_])_log_err(?![A-Za-z0-9_])/log_err_/g;
      s/(?<![A-Za-z0-9_])_log_fn(?![A-Za-z0-9_])/log_fn_/g;
      s/(?<![A-Za-z0-9_])_log_fn_function_name(?![A-Za-z0-9_])/log_fn_function_name_/g;
      s/(?<![A-Za-z0-9_])_log_global_min_severity(?![A-Za-z0-9_])/log_global_min_severity_/g;
      s/(?<![A-Za-z0-9_])_log_info(?![A-Za-z0-9_])/log_info_/g;
      s/(?<![A-Za-z0-9_])_log_notice(?![A-Za-z0-9_])/log_notice_/g;
      s/(?<![A-Za-z0-9_])_log_prefix(?![A-Za-z0-9_])/log_prefix_/g;
      s/(?<![A-Za-z0-9_])_log_warn(?![A-Za-z0-9_])/log_warn_/g;
      s/(?<![A-Za-z0-9_])_magic(?![A-Za-z0-9_])/magic_/g;
      s/(?<![A-Za-z0-9_])_MALLOC_LOCK(?![A-Za-z0-9_])/MALLOC_LOCK_/g;
      s/(?<![A-Za-z0-9_])_MALLOC_LOCK_INIT(?![A-Za-z0-9_])/MALLOC_LOCK_INIT_/g;
      s/(?<![A-Za-z0-9_])_MALLOC_UNLOCK(?![A-Za-z0-9_])/MALLOC_UNLOCK_/g;
      s/(?<![A-Za-z0-9_])_microdesc_eq(?![A-Za-z0-9_])/microdesc_eq_/g;
      s/(?<![A-Za-z0-9_])_microdesc_hash(?![A-Za-z0-9_])/microdesc_hash_/g;
      s/(?<![A-Za-z0-9_])_MIN_TOR_TLS_ERROR_VAL(?![A-Za-z0-9_])/MIN_TOR_TLS_ERROR_VAL_/g;
      s/(?<![A-Za-z0-9_])_mm_free(?![A-Za-z0-9_])/mm_free_/g;
      s/(?<![A-Za-z0-9_])_NIL(?![A-Za-z0-9_])/NIL_/g;
      s/(?<![A-Za-z0-9_])_n_openssl_mutexes(?![A-Za-z0-9_])/n_openssl_mutexes_/g;
      s/(?<![A-Za-z0-9_])_openssl_dynlock_create_cb(?![A-Za-z0-9_])/openssl_dynlock_create_cb_/g;
      s/(?<![A-Za-z0-9_])_openssl_dynlock_destroy_cb(?![A-Za-z0-9_])/openssl_dynlock_destroy_cb_/g;
      s/(?<![A-Za-z0-9_])_openssl_dynlock_lock_cb(?![A-Za-z0-9_])/openssl_dynlock_lock_cb_/g;
      s/(?<![A-Za-z0-9_])_openssl_locking_cb(?![A-Za-z0-9_])/openssl_locking_cb_/g;
      s/(?<![A-Za-z0-9_])_openssl_mutexes(?![A-Za-z0-9_])/openssl_mutexes_/g;
      s/(?<![A-Za-z0-9_])_option_abbrevs(?![A-Za-z0-9_])/option_abbrevs_/g;
      s/(?<![A-Za-z0-9_])_option_vars(?![A-Za-z0-9_])/option_vars_/g;
      s/(?<![A-Za-z0-9_])_OR_CONN_STATE_MAX(?![A-Za-z0-9_])/OR_CONN_STATE_MAX_/g;
      s/(?<![A-Za-z0-9_])_OR_CONN_STATE_MIN(?![A-Za-z0-9_])/OR_CONN_STATE_MIN_/g;
      s/(?<![A-Za-z0-9_])_OutboundBindAddressIPv4(?![A-Za-z0-9_])/OutboundBindAddressIPv4_/g;
      s/(?<![A-Za-z0-9_])_OutboundBindAddressIPv6(?![A-Za-z0-9_])/OutboundBindAddressIPv6_/g;
      s/(?<![A-Za-z0-9_])_PDS_PREFER_TUNNELED_DIR_CONNS(?![A-Za-z0-9_])/PDS_PREFER_TUNNELED_DIR_CONNS_/g;
      s/(?<![A-Za-z0-9_])_port(?![A-Za-z0-9_])/port_/g;
      s/(?<![A-Za-z0-9_])__progname(?![A-Za-z0-9_])/_progname_/g;
      s/(?<![A-Za-z0-9_])_PublishServerDescriptor(?![A-Za-z0-9_])/PublishServerDescriptor_/g;
      s/(?<![A-Za-z0-9_])_remove_old_client_helper(?![A-Za-z0-9_])/remove_old_client_helper_/g;
      s/(?<![A-Za-z0-9_])_rend_cache_entry_free(?![A-Za-z0-9_])/rend_cache_entry_free_/g;
      s/(?<![A-Za-z0-9_])_routerlist_find_elt(?![A-Za-z0-9_])/routerlist_find_elt_/g;
      s/(?<![A-Za-z0-9_])_SafeLogging(?![A-Za-z0-9_])/SafeLogging_/g;
      s/(?<![A-Za-z0-9_])_SHORT_FILE_(?![A-Za-z0-9_])/SHORT_FILE__/g;
      s/(?<![A-Za-z0-9_])_state_abbrevs(?![A-Za-z0-9_])/state_abbrevs_/g;
      s/(?<![A-Za-z0-9_])_state_vars(?![A-Za-z0-9_])/state_vars_/g;
      s/(?<![A-Za-z0-9_])_t(?![A-Za-z0-9_])/t_/g;
      s/(?<![A-Za-z0-9_])_t32(?![A-Za-z0-9_])/t32_/g;
      s/(?<![A-Za-z0-9_])_test_op_ip6(?![A-Za-z0-9_])/test_op_ip6_/g;
      s/(?<![A-Za-z0-9_])_thread1_name(?![A-Za-z0-9_])/thread1_name_/g;
      s/(?<![A-Za-z0-9_])_thread2_name(?![A-Za-z0-9_])/thread2_name_/g;
      s/(?<![A-Za-z0-9_])_thread_test_func(?![A-Za-z0-9_])/thread_test_func_/g;
      s/(?<![A-Za-z0-9_])_thread_test_mutex(?![A-Za-z0-9_])/thread_test_mutex_/g;
      s/(?<![A-Za-z0-9_])_thread_test_start1(?![A-Za-z0-9_])/thread_test_start1_/g;
      s/(?<![A-Za-z0-9_])_thread_test_start2(?![A-Za-z0-9_])/thread_test_start2_/g;
      s/(?<![A-Za-z0-9_])_thread_test_strmap(?![A-Za-z0-9_])/thread_test_strmap_/g;
      s/(?<![A-Za-z0-9_])_tor_calloc(?![A-Za-z0-9_])/tor_calloc_/g;
      s/(?<![A-Za-z0-9_])_TOR_CHANNEL_INTERNAL(?![A-Za-z0-9_])/TOR_CHANNEL_INTERNAL_/g;
      s/(?<![A-Za-z0-9_])_TOR_CIRCUITMUX_EWMA_C(?![A-Za-z0-9_])/TOR_CIRCUITMUX_EWMA_C_/g;
      s/(?<![A-Za-z0-9_])_tor_free(?![A-Za-z0-9_])/tor_free_/g;
      s/(?<![A-Za-z0-9_])_tor_malloc(?![A-Za-z0-9_])/tor_malloc_/g;
      s/(?<![A-Za-z0-9_])_tor_malloc_zero(?![A-Za-z0-9_])/tor_malloc_zero_/g;
      s/(?<![A-Za-z0-9_])_tor_memdup(?![A-Za-z0-9_])/tor_memdup_/g;
      s/(?<![A-Za-z0-9_])_tor_realloc(?![A-Za-z0-9_])/tor_realloc_/g;
      s/(?<![A-Za-z0-9_])_tor_strdup(?![A-Za-z0-9_])/tor_strdup_/g;
      s/(?<![A-Za-z0-9_])_tor_strndup(?![A-Za-z0-9_])/tor_strndup_/g;
      s/(?<![A-Za-z0-9_])_TOR_TLS_SYSCALL(?![A-Za-z0-9_])/TOR_TLS_SYSCALL_/g;
      s/(?<![A-Za-z0-9_])_TOR_TLS_ZERORETURN(?![A-Za-z0-9_])/TOR_TLS_ZERORETURN_/g;
      s/(?<![A-Za-z0-9_])__USE_ISOC99(?![A-Za-z0-9_])/_USE_ISOC99_/g;
      s/(?<![A-Za-z0-9_])_UsingTestNetworkDefaults(?![A-Za-z0-9_])/UsingTestNetworkDefaults_/g;
      s/(?<![A-Za-z0-9_])_val(?![A-Za-z0-9_])/val_/g;
      s/(?<![A-Za-z0-9_])_void_for_alignment(?![A-Za-z0-9_])/void_for_alignment_/g;
      
      ==============================
      56c0baa5
  4. 10 Oct, 2012 1 commit
  5. 08 Oct, 2012 6 commits
  6. 03 Oct, 2012 1 commit
  7. 01 Oct, 2012 1 commit
  8. 14 Sep, 2012 1 commit
  9. 13 Sep, 2012 1 commit
  10. 06 Sep, 2012 1 commit
  11. 05 Sep, 2012 2 commits
  12. 03 Sep, 2012 2 commits
  13. 17 Jul, 2012 1 commit
    • Nick Mathewson's avatar
      Change all SMARTLIST_FOREACH loops of >=10 lines to use BEGIN/END · 7faf115d
      Nick Mathewson authored
      The SMARTLIST_FOREACH macro is more convenient than BEGIN/END when
      you have a nice short loop body, but using it for long bodies makes
      your preprocessor tell the compiler that all the code is on the same
      line.  That causes grief, since compiler warnings and debugger lines
      will all refer to that one line.
      
      So, here's a new style rule: SMARTLIST_FOREACH blocks need to be
      short.
      7faf115d
  14. 23 Jun, 2012 1 commit
    • Nick Mathewson's avatar
      Catch a few more K&R violations with make check-spaces · a6688c57
      Nick Mathewson authored
      We now catch bare {s that should be on the previous line with a do,
      while, if, or for, and elses that should share a line with their
      preceding }.
      
      That is,
          if (foo)
          {
      and
          if (foo) {
            ...
          }
          else
      
      are now detected.
      
      We should think about maybe making Tor uncrustify-clean some day,
      but configuring uncrustify is an exercise in bizarreness, and
      reformatting huge gobs of Tor is always painful.
      a6688c57
  15. 19 Jun, 2012 1 commit
    • Nick Mathewson's avatar
      Disable warning for marked-but-reading in main.c · 0600e8ca
      Nick Mathewson authored
      It turns out this can happen.  Even though there is no reason for
      connections to be marked but reading, we leave them reading anyway,
      so warning here is unwarranted.  Let's turn that back on once we do
      something sensible and disable reading when we mark.  Bugfix for
      6203 on Tor 0.2.3.17-beta.
      
      Thanks to cypherpunks for pointing out the general stupidity of the
      original code here.
      0600e8ca
  16. 15 Jun, 2012 2 commits
  17. 14 Jun, 2012 1 commit
  18. 13 Jun, 2012 2 commits
    • Nick Mathewson's avatar
      Add rate-limited log message to bug5263 fix · 9282c889
      Nick Mathewson authored
      Initially I said, "I claim that we shouldn't be reading and marked;
      let's see if I'm right."  But Rob finds that it does.
      9282c889
    • Rob Jansen's avatar
      Fix busy Libevent loops (infinite loops in Shadow) · 03b48352
      Rob Jansen authored and Nick Mathewson's avatar Nick Mathewson committed
      There is a bug causing busy loops in Libevent and infinite loops in
      the Shadow simulator. A connection that is marked for close, wants
      to flush, is held open to flush, but is rate limited (the token
      bucket is empty) triggers the bug.
      
      This commit fixes the bug. Details are below.
      
      This currently happens on read and write callbacks when the active
      socket is marked for close. In this case, Tor doesn't actually try
      to complete the read or write (it returns from those methods when
      marked), but instead tries to clear the connection with
      conn_close_if_marked(). Tor will not close a marked connection that
      contains data: it must be flushed first. The bug occurs when this
      flush operation on the marked connection can not occur because the
      connection is rate-limited (its write token bucket is empty).
      
      The fix is to detect when rate limiting is preventing a marked
      connection from properly flushing. In this case, it should be
      flagged as read/write_blocked_on_bandwidth and the read/write events
      de-registered from Libevent. When the token bucket gets refilled, it
      will check the associated read/write_blocked_on_bandwidth flag, and
      add the read/write event back to Libevent, which will cause it to
      fire. This time, it will be properly flushed and closed.
      
      The reason that both read and write events are both de-registered
      when the marked connection can not flush is because both result in
      the same behavior. Both read/write events on marked connections will
      never again do any actual reads/writes, and are only useful to
      trigger the flush and close the connection. By setting the
      associated read/write_blocked_on_bandwidth flag, we ensure that the
      event will get added back to Libevent, properly flushed, and closed.
      
      Why is this important? Every Shadow event occurs at a discrete time
      instant. If Tor does not properly deregister Libevent events that
      fire but result in Tor essentially doing nothing, Libevent will
      repeatedly fire the event. In Shadow this means infinite loop,
      outside of Shadow this means wasted CPU cycles.
      03b48352
  19. 05 Jun, 2012 1 commit
  20. 04 Jun, 2012 1 commit
    • Nick Mathewson's avatar
      Add about 60 more DOCDOC comments to 0.2.3 · 173b18c7
      Nick Mathewson authored
      Also, try to resolve some doxygen issues.  First, define a magic
      "This is doxygen!" macro so that we take the correct branch in
      various #if/#else/#endifs in order to get the right documentation.
      Second, add in a few grouping @{ and @} entries in order to get some
      variables and fields to get grouped together.
      173b18c7
  21. 16 May, 2012 1 commit
    • Nick Mathewson's avatar
      When ReloadTorrcOnSIGHUP=1, do non-reload activities anyway · b41dd806
      Nick Mathewson authored
      Previously, we skipped everything that got invoked from
      options_init_from_torrc.  But some of the stuff in
      options_act_reversible and options_act is actually important, like
      reopening the logs.
      
      Now, a SIGHUP always makes the effects of an options_set() happen,
      even though the options haven't changed.
      
      Fix for bug 5095; bugfix on 0.2.1.9-alpha, which introduced
      __ReloadTorrcOnSIGHUP.
      b41dd806
  22. 19 Apr, 2012 1 commit
  23. 08 Feb, 2012 1 commit
  24. 31 Jan, 2012 1 commit
  25. 18 Jan, 2012 1 commit
    • Nick Mathewson's avatar
      Rename nonconformant identifiers. · 26e789fb
      Nick Mathewson authored
      Fixes bug 4893.
      
      These changes are pure mechanical, and were generated with this
      perl script:
      
        /usr/bin/perl -w -i.bak -p
      
        s/crypto_pk_env_t/crypto_pk_t/g;
        s/crypto_dh_env_t/crypto_dh_t/g;
        s/crypto_cipher_env_t/crypto_cipher_t/g;
        s/crypto_digest_env_t/crypto_digest_t/g;
      
        s/aes_free_cipher/aes_cipher_free/g;
        s/crypto_free_cipher_env/crypto_cipher_free/g;
        s/crypto_free_digest_env/crypto_digest_free/g;
        s/crypto_free_pk_env/crypto_pk_free/g;
      
        s/_crypto_dh_env_get_dh/_crypto_dh_get_dh/g;
        s/_crypto_new_pk_env_rsa/_crypto_new_pk_from_rsa/g;
        s/_crypto_pk_env_get_evp_pkey/_crypto_pk_get_evp_pkey/g;
        s/_crypto_pk_env_get_rsa/_crypto_pk_get_rsa/g;
      
        s/crypto_new_cipher_env/crypto_cipher_new/g;
        s/crypto_new_digest_env/crypto_digest_new/g;
        s/crypto_new_digest256_env/crypto_digest256_new/g;
        s/crypto_new_pk_env/crypto_pk_new/g;
      
        s/crypto_create_crypto_env/crypto_cipher_new/g;
      
        s/connection_create_listener/connection_listener_new/g;
        s/smartlist_create/smartlist_new/g;
        s/transport_create/transport_new/g;
      26e789fb
  26. 19 Dec, 2011 1 commit
    • Martin Hebnes Pedersen's avatar
      Fixed build with GCC < 3.3 · d5e96473
      Martin Hebnes Pedersen authored and Nick Mathewson's avatar Nick Mathewson committed
      Preprocessor directives should not be put inside the arguments
      of a macro. This is not supported on older GCC releases (< 3.3)
      thus broke compilation on Haiku (running gcc2).
      d5e96473
  27. 08 Dec, 2011 1 commit
  28. 30 Nov, 2011 3 commits
  29. 28 Nov, 2011 1 commit
    • Nick Mathewson's avatar
      New 'DisableNetwork' option to prevent Tor from using the network · df9b7646
      Nick Mathewson authored
      Some controllers want this so they can mess with Tor's configuration
      for a while via the control port before actually letting Tor out of
      the house.
      
      We do this with a new DisableNetwork option, that prevents Tor from
      making any outbound connections or binding any non-control
      listeners.  Additionally, it shuts down the same functionality as
      shuts down when we are hibernating, plus the code that launches
      directory downloads.
      
      To make sure I didn't miss anything, I added a clause straight to
      connection_connect, so that we won't even try to open an outbound
      socket when the network is disabled.  In my testing, I made this an
      assert, but since I probably missed something, I've turned it into a
      BUG warning for testing.
      df9b7646