[tor-commits] [tor/master] Move literally everything out of src/or

nickm at torproject.org nickm at torproject.org
Thu Jul 5 22:13:17 UTC 2018


commit 63b4ea22af8e8314dd718f02046de5f4b91edf9d
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Jul 5 16:31:38 2018 -0400

    Move literally everything out of src/or
    
    This commit won't build yet -- it just puts everything in a slightly
    more logical place.
    
    The reasoning here is that "src/core" will hold the stuff that every (or
    nearly every) tor instance will need in order to do onion routing.
    Other features (including some necessary ones) will live in
    "src/feature".  The "src/app" directory will hold the stuff needed
    to have Tor be an application you can actually run.
    
    This commit DOES NOT refactor the former contents of src/or into a
    logical set of acyclic libraries, or change any code at all.  That
    will have to come in the future.
    
    We will continue to move things around and split them in the future,
    but I hope this lays a reasonable groundwork for doing so.
---
 src/{or => app/config}/auth_dirs.inc               |  0
 src/{or => app/config}/config.c                    |  0
 src/{or => app/config}/config.h                    |  0
 src/{or => app/config}/confparse.c                 |  0
 src/{or => app/config}/confparse.h                 |  0
 src/{or => app/config}/fallback_dirs.inc           |  0
 src/{or => app/config}/or_options_st.h             |  0
 src/{or => app/config}/or_state_st.h               |  0
 src/{or => app/config}/statefile.c                 |  0
 src/{or => app/config}/statefile.h                 |  0
 src/app/include.am                                 |  6 +-
 src/app/{ => main}/ntmain.c                        |  0
 src/app/{ => main}/ntmain.h                        |  0
 src/app/{ => main}/tor_main.c                      |  0
 src/{or => core/crypto}/hs_ntor.c                  |  0
 src/{or => core/crypto}/hs_ntor.h                  |  0
 src/{or => core/crypto}/onion.c                    |  0
 src/{or => core/crypto}/onion.h                    |  0
 src/{or => core/crypto}/onion_fast.c               |  0
 src/{or => core/crypto}/onion_fast.h               |  0
 src/{or => core/crypto}/onion_ntor.c               |  0
 src/{or => core/crypto}/onion_ntor.h               |  0
 src/{or => core/crypto}/onion_tap.c                |  0
 src/{or => core/crypto}/onion_tap.h                |  0
 src/{or => core/crypto}/relay_crypto.c             |  0
 src/{or => core/crypto}/relay_crypto.h             |  0
 src/{or => core/mainloop}/connection.c             |  0
 src/{or => core/mainloop}/connection.h             |  0
 src/{or => core/mainloop}/cpuworker.c              |  0
 src/{or => core/mainloop}/cpuworker.h              |  0
 src/{or => core/mainloop}/main.c                   |  0
 src/{or => core/mainloop}/main.h                   |  0
 src/{or => core/mainloop}/periodic.c               |  0
 src/{or => core/mainloop}/periodic.h               |  0
 src/{ => core}/or/addr_policy_st.h                 |  0
 src/{ => core}/or/address_set.c                    |  0
 src/{ => core}/or/address_set.h                    |  0
 src/{ => core}/or/cell_queue_st.h                  |  0
 src/{ => core}/or/cell_st.h                        |  0
 src/{ => core}/or/channel.c                        |  0
 src/{ => core}/or/channel.h                        |  0
 src/{ => core}/or/channelpadding.c                 |  0
 src/{ => core}/or/channelpadding.h                 |  0
 src/{ => core}/or/channeltls.c                     |  0
 src/{ => core}/or/channeltls.h                     |  0
 src/{ => core}/or/circuit_st.h                     |  0
 src/{ => core}/or/circuitbuild.c                   |  0
 src/{ => core}/or/circuitbuild.h                   |  0
 src/{ => core}/or/circuitlist.c                    |  0
 src/{ => core}/or/circuitlist.h                    |  0
 src/{ => core}/or/circuitmux.c                     |  0
 src/{ => core}/or/circuitmux.h                     |  0
 src/{ => core}/or/circuitmux_ewma.c                |  0
 src/{ => core}/or/circuitmux_ewma.h                |  0
 src/{ => core}/or/circuitstats.c                   |  0
 src/{ => core}/or/circuitstats.h                   |  0
 src/{ => core}/or/circuituse.c                     |  0
 src/{ => core}/or/circuituse.h                     |  0
 src/{ => core}/or/command.c                        |  0
 src/{ => core}/or/command.h                        |  0
 src/{ => core}/or/connection_edge.c                |  0
 src/{ => core}/or/connection_edge.h                |  0
 src/{ => core}/or/connection_or.c                  |  0
 src/{ => core}/or/connection_or.h                  |  0
 src/{ => core}/or/connection_st.h                  |  0
 src/{ => core}/or/cpath_build_state_st.h           |  0
 src/{ => core}/or/crypt_path_reference_st.h        |  0
 src/{ => core}/or/crypt_path_st.h                  |  0
 src/{ => core}/or/destroy_cell_queue_st.h          |  0
 src/{ => core}/or/dos.c                            |  0
 src/{ => core}/or/dos.h                            |  0
 src/{ => core}/or/edge_connection_st.h             |  0
 src/{ => core}/or/entry_connection_st.h            |  0
 src/{ => core}/or/entry_port_cfg_st.h              |  0
 src/{ => core}/or/extend_info_st.h                 |  0
 src/{ => core}/or/git_revision.c                   |  0
 src/{ => core}/or/git_revision.h                   |  0
 src/{ => core}/or/listener_connection_st.h         |  0
 src/{ => core}/or/or.h                             |  0
 src/{ => core}/or/or_circuit_st.h                  |  0
 src/{ => core}/or/or_connection_st.h               |  0
 src/{ => core}/or/or_handshake_certs_st.h          |  0
 src/{ => core}/or/or_handshake_state_st.h          |  0
 src/{ => core}/or/origin_circuit_st.h              |  0
 src/{ => core}/or/policies.c                       |  0
 src/{ => core}/or/policies.h                       |  0
 src/{ => core}/or/port_cfg_st.h                    |  0
 src/{ => core}/or/reasons.c                        |  0
 src/{ => core}/or/reasons.h                        |  0
 src/{ => core}/or/relay.c                          |  0
 src/{ => core}/or/relay.h                          |  0
 src/{ => core}/or/relay_crypto_st.h                |  0
 src/{ => core}/or/scheduler.c                      |  0
 src/{ => core}/or/scheduler.h                      |  0
 src/{ => core}/or/scheduler_kist.c                 |  0
 src/{ => core}/or/scheduler_vanilla.c              |  0
 src/{ => core}/or/server_port_cfg_st.h             |  0
 src/{ => core}/or/socks_request_st.h               |  0
 src/{ => core}/or/status.c                         |  0
 src/{ => core}/or/status.h                         |  0
 src/{ => core}/or/tor_version_st.h                 |  0
 src/{ => core}/or/var_cell_st.h                    |  0
 src/{or => core/proto}/proto_cell.c                |  0
 src/{or => core/proto}/proto_cell.h                |  0
 src/{or => core/proto}/proto_control0.c            |  0
 src/{or => core/proto}/proto_control0.h            |  0
 src/{or => core/proto}/proto_ext_or.c              |  0
 src/{or => core/proto}/proto_ext_or.h              |  0
 src/{or => core/proto}/proto_http.c                |  0
 src/{or => core/proto}/proto_http.h                |  0
 src/{or => core/proto}/proto_socks.c               |  0
 src/{or => core/proto}/proto_socks.h               |  0
 src/{or => core/proto}/protover.c                  |  0
 src/{or => core/proto}/protover.h                  |  0
 src/{or => core/proto}/protover_rust.c             |  0
 src/{or => feature/api}/tor_api.c                  |  0
 src/{or => feature/api}/tor_api.h                  |  0
 src/{or => feature/api}/tor_api_internal.h         |  0
 src/{or => feature/client}/addressmap.c            |  0
 src/{or => feature/client}/addressmap.h            |  0
 src/{or => feature/client}/bridges.c               |  0
 src/{or => feature/client}/bridges.h               |  0
 src/{or => feature/client}/circpathbias.c          |  0
 src/{or => feature/client}/circpathbias.h          |  0
 src/{or => feature/client}/dnsserv.c               |  0
 src/{or => feature/client}/dnsserv.h               |  0
 src/{or => feature/client}/entrynodes.c            |  0
 src/{or => feature/client}/entrynodes.h            |  0
 src/{or => feature/client}/transports.c            |  0
 src/{or => feature/client}/transports.h            |  0
 src/{or => feature/control}/control.c              |  0
 src/{or => feature/control}/control.h              |  0
 .../control}/control_connection_st.h               |  0
 src/{or => feature}/dirauth/dircollate.c           |  0
 src/{or => feature}/dirauth/dircollate.h           |  0
 src/{or => feature}/dirauth/dirvote.c              |  0
 src/{or => feature}/dirauth/dirvote.h              |  0
 src/{or => feature/dirauth}/keypin.c               |  0
 src/{or => feature/dirauth}/keypin.h               |  0
 src/{or => feature}/dirauth/mode.h                 |  0
 .../dirauth}/ns_detached_signatures_st.h           |  0
 src/{or => feature}/dirauth/shared_random.c        |  0
 src/{or => feature}/dirauth/shared_random.h        |  0
 src/{or => feature}/dirauth/shared_random_state.c  |  0
 src/{or => feature}/dirauth/shared_random_state.h  |  0
 .../dirauth}/vote_microdesc_hash_st.h              |  0
 src/{or => feature/dircache}/cached_dir_st.h       |  0
 src/{or => feature/dircache}/conscache.c           |  0
 src/{or => feature/dircache}/conscache.h           |  0
 src/{or => feature/dircache}/consdiffmgr.c         |  0
 src/{or => feature/dircache}/consdiffmgr.h         |  0
 src/{or => feature/dircache}/directory.c           |  0
 src/{or => feature/dircache}/directory.h           |  0
 src/{or => feature/dircache}/dirserv.c             |  0
 src/{or => feature/dircache}/dirserv.h             |  0
 src/{or => feature/dirclient}/dir_server_st.h      |  0
 src/{or => feature/dirclient}/download_status_st.h |  0
 src/{or => feature/dircommon}/consdiff.c           |  0
 src/{or => feature/dircommon}/consdiff.h           |  0
 src/{or => feature/dircommon}/dir_connection_st.h  |  0
 src/{or => feature/dircommon}/fp_pair.c            |  0
 src/{or => feature/dircommon}/fp_pair.h            |  0
 src/{or => feature/dircommon}/vote_timing_st.h     |  0
 src/{or => feature/dircommon}/voting_schedule.c    |  0
 src/{or => feature/dircommon}/voting_schedule.h    |  0
 src/{or => feature/hibernate}/hibernate.c          |  0
 src/{or => feature/hibernate}/hibernate.h          |  0
 src/{or => feature/hs}/hs_cache.c                  |  0
 src/{or => feature/hs}/hs_cache.h                  |  0
 src/{or => feature/hs}/hs_cell.c                   |  0
 src/{or => feature/hs}/hs_cell.h                   |  0
 src/{or => feature/hs}/hs_circuit.c                |  0
 src/{or => feature/hs}/hs_circuit.h                |  0
 src/{or => feature/hs}/hs_circuitmap.c             |  0
 src/{or => feature/hs}/hs_circuitmap.h             |  0
 src/{or => feature/hs}/hs_client.c                 |  0
 src/{or => feature/hs}/hs_client.h                 |  0
 src/{or => feature/hs}/hs_common.c                 |  0
 src/{or => feature/hs}/hs_common.h                 |  0
 src/{or => feature/hs}/hs_config.c                 |  0
 src/{or => feature/hs}/hs_config.h                 |  0
 src/{or => feature/hs}/hs_control.c                |  0
 src/{or => feature/hs}/hs_control.h                |  0
 src/{or => feature/hs}/hs_descriptor.c             |  0
 src/{or => feature/hs}/hs_descriptor.h             |  0
 src/{or => feature/hs}/hs_ident.c                  |  0
 src/{or => feature/hs}/hs_ident.h                  |  0
 src/{or => feature/hs}/hs_intropoint.c             |  0
 src/{or => feature/hs}/hs_intropoint.h             |  0
 src/{or => feature/hs}/hs_service.c                |  0
 src/{or => feature/hs}/hs_service.h                |  0
 src/{or => feature/hs}/hs_stats.c                  |  0
 src/{or => feature/hs}/hs_stats.h                  |  0
 src/{or => feature/hs}/hsdir_index_st.h            |  0
 src/{or => feature/hs_common}/replaycache.c        |  0
 src/{or => feature/hs_common}/replaycache.h        |  0
 .../hs_common}/shared_random_client.c              |  0
 .../hs_common}/shared_random_client.h              |  0
 src/{or => feature/nodelist}/authority_cert_st.h   |  0
 src/{or => feature/nodelist}/desc_store_st.h       |  0
 .../nodelist}/document_signature_st.h              |  0
 src/{or => feature/nodelist}/extrainfo_st.h        |  0
 src/{or => feature/nodelist}/microdesc.c           |  0
 src/{or => feature/nodelist}/microdesc.h           |  0
 src/{or => feature/nodelist}/microdesc_st.h        |  0
 src/{or => feature/nodelist}/networkstatus.c       |  0
 src/{or => feature/nodelist}/networkstatus.h       |  0
 .../nodelist}/networkstatus_sr_info_st.h           |  0
 src/{or => feature/nodelist}/networkstatus_st.h    |  0
 .../nodelist}/networkstatus_voter_info_st.h        |  0
 src/{or => feature/nodelist}/node_st.h             |  0
 src/{or => feature/nodelist}/nodelist.c            |  0
 src/{or => feature/nodelist}/nodelist.h            |  0
 src/{or => feature/nodelist}/parsecommon.c         |  0
 src/{or => feature/nodelist}/parsecommon.h         |  0
 src/{or => feature/nodelist}/routerinfo_st.h       |  0
 src/{or => feature/nodelist}/routerlist.c          |  0
 src/{or => feature/nodelist}/routerlist.h          |  0
 src/{or => feature/nodelist}/routerlist_st.h       |  0
 src/{or => feature/nodelist}/routerparse.c         |  0
 src/{or => feature/nodelist}/routerparse.h         |  0
 src/{or => feature/nodelist}/routerset.c           |  0
 src/{or => feature/nodelist}/routerset.h           |  0
 src/{or => feature/nodelist}/routerstatus_st.h     |  0
 .../nodelist}/signed_descriptor_st.h               |  0
 src/{or => feature/nodelist}/torcert.c             |  0
 src/{or => feature/nodelist}/torcert.h             |  0
 .../nodelist}/vote_routerstatus_st.h               |  0
 src/{or => feature/relay}/dns.c                    |  0
 src/{or => feature/relay}/dns.h                    |  0
 src/{or => feature/relay}/dns_structs.h            |  0
 src/{or => feature/relay}/ext_orport.c             |  0
 src/{or => feature/relay}/ext_orport.h             |  0
 src/{or => feature/relay}/router.c                 |  0
 src/{or => feature/relay}/router.h                 |  0
 src/{or => feature/relay}/routerkeys.c             |  0
 src/{or => feature/relay}/routerkeys.h             |  0
 .../rend}/rend_authorized_client_st.h              |  0
 .../rend}/rend_encoded_v2_service_descriptor_st.h  |  0
 src/{or => feature/rend}/rend_intro_point_st.h     |  0
 .../rend}/rend_service_descriptor_st.h             |  0
 src/{or => feature/rend}/rendcache.c               |  0
 src/{or => feature/rend}/rendcache.h               |  0
 src/{or => feature/rend}/rendclient.c              |  0
 src/{or => feature/rend}/rendclient.h              |  0
 src/{or => feature/rend}/rendcommon.c              |  0
 src/{or => feature/rend}/rendcommon.h              |  0
 src/{or => feature/rend}/rendmid.c                 |  0
 src/{or => feature/rend}/rendmid.h                 |  0
 src/{or => feature/rend}/rendservice.c             |  0
 src/{or => feature/rend}/rendservice.h             |  0
 src/{or => feature/stats}/geoip.c                  |  0
 src/{or => feature/stats}/geoip.h                  |  0
 src/{or => feature/stats}/rephist.c                |  0
 src/{or => feature/stats}/rephist.h                |  0
 src/or/Makefile.nmake                              | 79 ----------------------
 256 files changed, 3 insertions(+), 82 deletions(-)

diff --git a/src/or/auth_dirs.inc b/src/app/config/auth_dirs.inc
similarity index 100%
rename from src/or/auth_dirs.inc
rename to src/app/config/auth_dirs.inc
diff --git a/src/or/config.c b/src/app/config/config.c
similarity index 100%
rename from src/or/config.c
rename to src/app/config/config.c
diff --git a/src/or/config.h b/src/app/config/config.h
similarity index 100%
rename from src/or/config.h
rename to src/app/config/config.h
diff --git a/src/or/confparse.c b/src/app/config/confparse.c
similarity index 100%
rename from src/or/confparse.c
rename to src/app/config/confparse.c
diff --git a/src/or/confparse.h b/src/app/config/confparse.h
similarity index 100%
rename from src/or/confparse.h
rename to src/app/config/confparse.h
diff --git a/src/or/fallback_dirs.inc b/src/app/config/fallback_dirs.inc
similarity index 100%
rename from src/or/fallback_dirs.inc
rename to src/app/config/fallback_dirs.inc
diff --git a/src/or/or_options_st.h b/src/app/config/or_options_st.h
similarity index 100%
rename from src/or/or_options_st.h
rename to src/app/config/or_options_st.h
diff --git a/src/or/or_state_st.h b/src/app/config/or_state_st.h
similarity index 100%
rename from src/or/or_state_st.h
rename to src/app/config/or_state_st.h
diff --git a/src/or/statefile.c b/src/app/config/statefile.c
similarity index 100%
rename from src/or/statefile.c
rename to src/app/config/statefile.c
diff --git a/src/or/statefile.h b/src/app/config/statefile.h
similarity index 100%
rename from src/or/statefile.h
rename to src/app/config/statefile.h
diff --git a/src/app/include.am b/src/app/include.am
index bbbffb3e5..8e86bbeeb 100644
--- a/src/app/include.am
+++ b/src/app/include.am
@@ -6,11 +6,11 @@ noinst_PROGRAMS+= src/app/tor-cov
 endif
 
 noinst_HEADERS += \
-	src/app/ntmain.h
+	src/app/main/ntmain.h
 
-src_app_tor_SOURCES = src/app/tor_main.c
+src_app_tor_SOURCES = src/app/main/tor_main.c
 if BUILD_NT_SERVICES
-src_app_tor_SOURCES += src/app/ntmain.c
+src_app_tor_SOURCES += src/app/main/ntmain.c
 endif
 
 # -L flags need to go in LDFLAGS. -l flags need to go in LDADD.
diff --git a/src/app/ntmain.c b/src/app/main/ntmain.c
similarity index 100%
rename from src/app/ntmain.c
rename to src/app/main/ntmain.c
diff --git a/src/app/ntmain.h b/src/app/main/ntmain.h
similarity index 100%
rename from src/app/ntmain.h
rename to src/app/main/ntmain.h
diff --git a/src/app/tor_main.c b/src/app/main/tor_main.c
similarity index 100%
rename from src/app/tor_main.c
rename to src/app/main/tor_main.c
diff --git a/src/or/hs_ntor.c b/src/core/crypto/hs_ntor.c
similarity index 100%
rename from src/or/hs_ntor.c
rename to src/core/crypto/hs_ntor.c
diff --git a/src/or/hs_ntor.h b/src/core/crypto/hs_ntor.h
similarity index 100%
rename from src/or/hs_ntor.h
rename to src/core/crypto/hs_ntor.h
diff --git a/src/or/onion.c b/src/core/crypto/onion.c
similarity index 100%
rename from src/or/onion.c
rename to src/core/crypto/onion.c
diff --git a/src/or/onion.h b/src/core/crypto/onion.h
similarity index 100%
rename from src/or/onion.h
rename to src/core/crypto/onion.h
diff --git a/src/or/onion_fast.c b/src/core/crypto/onion_fast.c
similarity index 100%
rename from src/or/onion_fast.c
rename to src/core/crypto/onion_fast.c
diff --git a/src/or/onion_fast.h b/src/core/crypto/onion_fast.h
similarity index 100%
rename from src/or/onion_fast.h
rename to src/core/crypto/onion_fast.h
diff --git a/src/or/onion_ntor.c b/src/core/crypto/onion_ntor.c
similarity index 100%
rename from src/or/onion_ntor.c
rename to src/core/crypto/onion_ntor.c
diff --git a/src/or/onion_ntor.h b/src/core/crypto/onion_ntor.h
similarity index 100%
rename from src/or/onion_ntor.h
rename to src/core/crypto/onion_ntor.h
diff --git a/src/or/onion_tap.c b/src/core/crypto/onion_tap.c
similarity index 100%
rename from src/or/onion_tap.c
rename to src/core/crypto/onion_tap.c
diff --git a/src/or/onion_tap.h b/src/core/crypto/onion_tap.h
similarity index 100%
rename from src/or/onion_tap.h
rename to src/core/crypto/onion_tap.h
diff --git a/src/or/relay_crypto.c b/src/core/crypto/relay_crypto.c
similarity index 100%
rename from src/or/relay_crypto.c
rename to src/core/crypto/relay_crypto.c
diff --git a/src/or/relay_crypto.h b/src/core/crypto/relay_crypto.h
similarity index 100%
rename from src/or/relay_crypto.h
rename to src/core/crypto/relay_crypto.h
diff --git a/src/or/connection.c b/src/core/mainloop/connection.c
similarity index 100%
rename from src/or/connection.c
rename to src/core/mainloop/connection.c
diff --git a/src/or/connection.h b/src/core/mainloop/connection.h
similarity index 100%
rename from src/or/connection.h
rename to src/core/mainloop/connection.h
diff --git a/src/or/cpuworker.c b/src/core/mainloop/cpuworker.c
similarity index 100%
rename from src/or/cpuworker.c
rename to src/core/mainloop/cpuworker.c
diff --git a/src/or/cpuworker.h b/src/core/mainloop/cpuworker.h
similarity index 100%
rename from src/or/cpuworker.h
rename to src/core/mainloop/cpuworker.h
diff --git a/src/or/main.c b/src/core/mainloop/main.c
similarity index 100%
rename from src/or/main.c
rename to src/core/mainloop/main.c
diff --git a/src/or/main.h b/src/core/mainloop/main.h
similarity index 100%
rename from src/or/main.h
rename to src/core/mainloop/main.h
diff --git a/src/or/periodic.c b/src/core/mainloop/periodic.c
similarity index 100%
rename from src/or/periodic.c
rename to src/core/mainloop/periodic.c
diff --git a/src/or/periodic.h b/src/core/mainloop/periodic.h
similarity index 100%
rename from src/or/periodic.h
rename to src/core/mainloop/periodic.h
diff --git a/src/or/addr_policy_st.h b/src/core/or/addr_policy_st.h
similarity index 100%
rename from src/or/addr_policy_st.h
rename to src/core/or/addr_policy_st.h
diff --git a/src/or/address_set.c b/src/core/or/address_set.c
similarity index 100%
rename from src/or/address_set.c
rename to src/core/or/address_set.c
diff --git a/src/or/address_set.h b/src/core/or/address_set.h
similarity index 100%
rename from src/or/address_set.h
rename to src/core/or/address_set.h
diff --git a/src/or/cell_queue_st.h b/src/core/or/cell_queue_st.h
similarity index 100%
rename from src/or/cell_queue_st.h
rename to src/core/or/cell_queue_st.h
diff --git a/src/or/cell_st.h b/src/core/or/cell_st.h
similarity index 100%
rename from src/or/cell_st.h
rename to src/core/or/cell_st.h
diff --git a/src/or/channel.c b/src/core/or/channel.c
similarity index 100%
rename from src/or/channel.c
rename to src/core/or/channel.c
diff --git a/src/or/channel.h b/src/core/or/channel.h
similarity index 100%
rename from src/or/channel.h
rename to src/core/or/channel.h
diff --git a/src/or/channelpadding.c b/src/core/or/channelpadding.c
similarity index 100%
rename from src/or/channelpadding.c
rename to src/core/or/channelpadding.c
diff --git a/src/or/channelpadding.h b/src/core/or/channelpadding.h
similarity index 100%
rename from src/or/channelpadding.h
rename to src/core/or/channelpadding.h
diff --git a/src/or/channeltls.c b/src/core/or/channeltls.c
similarity index 100%
rename from src/or/channeltls.c
rename to src/core/or/channeltls.c
diff --git a/src/or/channeltls.h b/src/core/or/channeltls.h
similarity index 100%
rename from src/or/channeltls.h
rename to src/core/or/channeltls.h
diff --git a/src/or/circuit_st.h b/src/core/or/circuit_st.h
similarity index 100%
rename from src/or/circuit_st.h
rename to src/core/or/circuit_st.h
diff --git a/src/or/circuitbuild.c b/src/core/or/circuitbuild.c
similarity index 100%
rename from src/or/circuitbuild.c
rename to src/core/or/circuitbuild.c
diff --git a/src/or/circuitbuild.h b/src/core/or/circuitbuild.h
similarity index 100%
rename from src/or/circuitbuild.h
rename to src/core/or/circuitbuild.h
diff --git a/src/or/circuitlist.c b/src/core/or/circuitlist.c
similarity index 100%
rename from src/or/circuitlist.c
rename to src/core/or/circuitlist.c
diff --git a/src/or/circuitlist.h b/src/core/or/circuitlist.h
similarity index 100%
rename from src/or/circuitlist.h
rename to src/core/or/circuitlist.h
diff --git a/src/or/circuitmux.c b/src/core/or/circuitmux.c
similarity index 100%
rename from src/or/circuitmux.c
rename to src/core/or/circuitmux.c
diff --git a/src/or/circuitmux.h b/src/core/or/circuitmux.h
similarity index 100%
rename from src/or/circuitmux.h
rename to src/core/or/circuitmux.h
diff --git a/src/or/circuitmux_ewma.c b/src/core/or/circuitmux_ewma.c
similarity index 100%
rename from src/or/circuitmux_ewma.c
rename to src/core/or/circuitmux_ewma.c
diff --git a/src/or/circuitmux_ewma.h b/src/core/or/circuitmux_ewma.h
similarity index 100%
rename from src/or/circuitmux_ewma.h
rename to src/core/or/circuitmux_ewma.h
diff --git a/src/or/circuitstats.c b/src/core/or/circuitstats.c
similarity index 100%
rename from src/or/circuitstats.c
rename to src/core/or/circuitstats.c
diff --git a/src/or/circuitstats.h b/src/core/or/circuitstats.h
similarity index 100%
rename from src/or/circuitstats.h
rename to src/core/or/circuitstats.h
diff --git a/src/or/circuituse.c b/src/core/or/circuituse.c
similarity index 100%
rename from src/or/circuituse.c
rename to src/core/or/circuituse.c
diff --git a/src/or/circuituse.h b/src/core/or/circuituse.h
similarity index 100%
rename from src/or/circuituse.h
rename to src/core/or/circuituse.h
diff --git a/src/or/command.c b/src/core/or/command.c
similarity index 100%
rename from src/or/command.c
rename to src/core/or/command.c
diff --git a/src/or/command.h b/src/core/or/command.h
similarity index 100%
rename from src/or/command.h
rename to src/core/or/command.h
diff --git a/src/or/connection_edge.c b/src/core/or/connection_edge.c
similarity index 100%
rename from src/or/connection_edge.c
rename to src/core/or/connection_edge.c
diff --git a/src/or/connection_edge.h b/src/core/or/connection_edge.h
similarity index 100%
rename from src/or/connection_edge.h
rename to src/core/or/connection_edge.h
diff --git a/src/or/connection_or.c b/src/core/or/connection_or.c
similarity index 100%
rename from src/or/connection_or.c
rename to src/core/or/connection_or.c
diff --git a/src/or/connection_or.h b/src/core/or/connection_or.h
similarity index 100%
rename from src/or/connection_or.h
rename to src/core/or/connection_or.h
diff --git a/src/or/connection_st.h b/src/core/or/connection_st.h
similarity index 100%
rename from src/or/connection_st.h
rename to src/core/or/connection_st.h
diff --git a/src/or/cpath_build_state_st.h b/src/core/or/cpath_build_state_st.h
similarity index 100%
rename from src/or/cpath_build_state_st.h
rename to src/core/or/cpath_build_state_st.h
diff --git a/src/or/crypt_path_reference_st.h b/src/core/or/crypt_path_reference_st.h
similarity index 100%
rename from src/or/crypt_path_reference_st.h
rename to src/core/or/crypt_path_reference_st.h
diff --git a/src/or/crypt_path_st.h b/src/core/or/crypt_path_st.h
similarity index 100%
rename from src/or/crypt_path_st.h
rename to src/core/or/crypt_path_st.h
diff --git a/src/or/destroy_cell_queue_st.h b/src/core/or/destroy_cell_queue_st.h
similarity index 100%
rename from src/or/destroy_cell_queue_st.h
rename to src/core/or/destroy_cell_queue_st.h
diff --git a/src/or/dos.c b/src/core/or/dos.c
similarity index 100%
rename from src/or/dos.c
rename to src/core/or/dos.c
diff --git a/src/or/dos.h b/src/core/or/dos.h
similarity index 100%
rename from src/or/dos.h
rename to src/core/or/dos.h
diff --git a/src/or/edge_connection_st.h b/src/core/or/edge_connection_st.h
similarity index 100%
rename from src/or/edge_connection_st.h
rename to src/core/or/edge_connection_st.h
diff --git a/src/or/entry_connection_st.h b/src/core/or/entry_connection_st.h
similarity index 100%
rename from src/or/entry_connection_st.h
rename to src/core/or/entry_connection_st.h
diff --git a/src/or/entry_port_cfg_st.h b/src/core/or/entry_port_cfg_st.h
similarity index 100%
rename from src/or/entry_port_cfg_st.h
rename to src/core/or/entry_port_cfg_st.h
diff --git a/src/or/extend_info_st.h b/src/core/or/extend_info_st.h
similarity index 100%
rename from src/or/extend_info_st.h
rename to src/core/or/extend_info_st.h
diff --git a/src/or/git_revision.c b/src/core/or/git_revision.c
similarity index 100%
rename from src/or/git_revision.c
rename to src/core/or/git_revision.c
diff --git a/src/or/git_revision.h b/src/core/or/git_revision.h
similarity index 100%
rename from src/or/git_revision.h
rename to src/core/or/git_revision.h
diff --git a/src/or/listener_connection_st.h b/src/core/or/listener_connection_st.h
similarity index 100%
rename from src/or/listener_connection_st.h
rename to src/core/or/listener_connection_st.h
diff --git a/src/or/or.h b/src/core/or/or.h
similarity index 100%
rename from src/or/or.h
rename to src/core/or/or.h
diff --git a/src/or/or_circuit_st.h b/src/core/or/or_circuit_st.h
similarity index 100%
rename from src/or/or_circuit_st.h
rename to src/core/or/or_circuit_st.h
diff --git a/src/or/or_connection_st.h b/src/core/or/or_connection_st.h
similarity index 100%
rename from src/or/or_connection_st.h
rename to src/core/or/or_connection_st.h
diff --git a/src/or/or_handshake_certs_st.h b/src/core/or/or_handshake_certs_st.h
similarity index 100%
rename from src/or/or_handshake_certs_st.h
rename to src/core/or/or_handshake_certs_st.h
diff --git a/src/or/or_handshake_state_st.h b/src/core/or/or_handshake_state_st.h
similarity index 100%
rename from src/or/or_handshake_state_st.h
rename to src/core/or/or_handshake_state_st.h
diff --git a/src/or/origin_circuit_st.h b/src/core/or/origin_circuit_st.h
similarity index 100%
rename from src/or/origin_circuit_st.h
rename to src/core/or/origin_circuit_st.h
diff --git a/src/or/policies.c b/src/core/or/policies.c
similarity index 100%
rename from src/or/policies.c
rename to src/core/or/policies.c
diff --git a/src/or/policies.h b/src/core/or/policies.h
similarity index 100%
rename from src/or/policies.h
rename to src/core/or/policies.h
diff --git a/src/or/port_cfg_st.h b/src/core/or/port_cfg_st.h
similarity index 100%
rename from src/or/port_cfg_st.h
rename to src/core/or/port_cfg_st.h
diff --git a/src/or/reasons.c b/src/core/or/reasons.c
similarity index 100%
rename from src/or/reasons.c
rename to src/core/or/reasons.c
diff --git a/src/or/reasons.h b/src/core/or/reasons.h
similarity index 100%
rename from src/or/reasons.h
rename to src/core/or/reasons.h
diff --git a/src/or/relay.c b/src/core/or/relay.c
similarity index 100%
rename from src/or/relay.c
rename to src/core/or/relay.c
diff --git a/src/or/relay.h b/src/core/or/relay.h
similarity index 100%
rename from src/or/relay.h
rename to src/core/or/relay.h
diff --git a/src/or/relay_crypto_st.h b/src/core/or/relay_crypto_st.h
similarity index 100%
rename from src/or/relay_crypto_st.h
rename to src/core/or/relay_crypto_st.h
diff --git a/src/or/scheduler.c b/src/core/or/scheduler.c
similarity index 100%
rename from src/or/scheduler.c
rename to src/core/or/scheduler.c
diff --git a/src/or/scheduler.h b/src/core/or/scheduler.h
similarity index 100%
rename from src/or/scheduler.h
rename to src/core/or/scheduler.h
diff --git a/src/or/scheduler_kist.c b/src/core/or/scheduler_kist.c
similarity index 100%
rename from src/or/scheduler_kist.c
rename to src/core/or/scheduler_kist.c
diff --git a/src/or/scheduler_vanilla.c b/src/core/or/scheduler_vanilla.c
similarity index 100%
rename from src/or/scheduler_vanilla.c
rename to src/core/or/scheduler_vanilla.c
diff --git a/src/or/server_port_cfg_st.h b/src/core/or/server_port_cfg_st.h
similarity index 100%
rename from src/or/server_port_cfg_st.h
rename to src/core/or/server_port_cfg_st.h
diff --git a/src/or/socks_request_st.h b/src/core/or/socks_request_st.h
similarity index 100%
rename from src/or/socks_request_st.h
rename to src/core/or/socks_request_st.h
diff --git a/src/or/status.c b/src/core/or/status.c
similarity index 100%
rename from src/or/status.c
rename to src/core/or/status.c
diff --git a/src/or/status.h b/src/core/or/status.h
similarity index 100%
rename from src/or/status.h
rename to src/core/or/status.h
diff --git a/src/or/tor_version_st.h b/src/core/or/tor_version_st.h
similarity index 100%
rename from src/or/tor_version_st.h
rename to src/core/or/tor_version_st.h
diff --git a/src/or/var_cell_st.h b/src/core/or/var_cell_st.h
similarity index 100%
rename from src/or/var_cell_st.h
rename to src/core/or/var_cell_st.h
diff --git a/src/or/proto_cell.c b/src/core/proto/proto_cell.c
similarity index 100%
rename from src/or/proto_cell.c
rename to src/core/proto/proto_cell.c
diff --git a/src/or/proto_cell.h b/src/core/proto/proto_cell.h
similarity index 100%
rename from src/or/proto_cell.h
rename to src/core/proto/proto_cell.h
diff --git a/src/or/proto_control0.c b/src/core/proto/proto_control0.c
similarity index 100%
rename from src/or/proto_control0.c
rename to src/core/proto/proto_control0.c
diff --git a/src/or/proto_control0.h b/src/core/proto/proto_control0.h
similarity index 100%
rename from src/or/proto_control0.h
rename to src/core/proto/proto_control0.h
diff --git a/src/or/proto_ext_or.c b/src/core/proto/proto_ext_or.c
similarity index 100%
rename from src/or/proto_ext_or.c
rename to src/core/proto/proto_ext_or.c
diff --git a/src/or/proto_ext_or.h b/src/core/proto/proto_ext_or.h
similarity index 100%
rename from src/or/proto_ext_or.h
rename to src/core/proto/proto_ext_or.h
diff --git a/src/or/proto_http.c b/src/core/proto/proto_http.c
similarity index 100%
rename from src/or/proto_http.c
rename to src/core/proto/proto_http.c
diff --git a/src/or/proto_http.h b/src/core/proto/proto_http.h
similarity index 100%
rename from src/or/proto_http.h
rename to src/core/proto/proto_http.h
diff --git a/src/or/proto_socks.c b/src/core/proto/proto_socks.c
similarity index 100%
rename from src/or/proto_socks.c
rename to src/core/proto/proto_socks.c
diff --git a/src/or/proto_socks.h b/src/core/proto/proto_socks.h
similarity index 100%
rename from src/or/proto_socks.h
rename to src/core/proto/proto_socks.h
diff --git a/src/or/protover.c b/src/core/proto/protover.c
similarity index 100%
rename from src/or/protover.c
rename to src/core/proto/protover.c
diff --git a/src/or/protover.h b/src/core/proto/protover.h
similarity index 100%
rename from src/or/protover.h
rename to src/core/proto/protover.h
diff --git a/src/or/protover_rust.c b/src/core/proto/protover_rust.c
similarity index 100%
rename from src/or/protover_rust.c
rename to src/core/proto/protover_rust.c
diff --git a/src/or/tor_api.c b/src/feature/api/tor_api.c
similarity index 100%
rename from src/or/tor_api.c
rename to src/feature/api/tor_api.c
diff --git a/src/or/tor_api.h b/src/feature/api/tor_api.h
similarity index 100%
rename from src/or/tor_api.h
rename to src/feature/api/tor_api.h
diff --git a/src/or/tor_api_internal.h b/src/feature/api/tor_api_internal.h
similarity index 100%
rename from src/or/tor_api_internal.h
rename to src/feature/api/tor_api_internal.h
diff --git a/src/or/addressmap.c b/src/feature/client/addressmap.c
similarity index 100%
rename from src/or/addressmap.c
rename to src/feature/client/addressmap.c
diff --git a/src/or/addressmap.h b/src/feature/client/addressmap.h
similarity index 100%
rename from src/or/addressmap.h
rename to src/feature/client/addressmap.h
diff --git a/src/or/bridges.c b/src/feature/client/bridges.c
similarity index 100%
rename from src/or/bridges.c
rename to src/feature/client/bridges.c
diff --git a/src/or/bridges.h b/src/feature/client/bridges.h
similarity index 100%
rename from src/or/bridges.h
rename to src/feature/client/bridges.h
diff --git a/src/or/circpathbias.c b/src/feature/client/circpathbias.c
similarity index 100%
rename from src/or/circpathbias.c
rename to src/feature/client/circpathbias.c
diff --git a/src/or/circpathbias.h b/src/feature/client/circpathbias.h
similarity index 100%
rename from src/or/circpathbias.h
rename to src/feature/client/circpathbias.h
diff --git a/src/or/dnsserv.c b/src/feature/client/dnsserv.c
similarity index 100%
rename from src/or/dnsserv.c
rename to src/feature/client/dnsserv.c
diff --git a/src/or/dnsserv.h b/src/feature/client/dnsserv.h
similarity index 100%
rename from src/or/dnsserv.h
rename to src/feature/client/dnsserv.h
diff --git a/src/or/entrynodes.c b/src/feature/client/entrynodes.c
similarity index 100%
rename from src/or/entrynodes.c
rename to src/feature/client/entrynodes.c
diff --git a/src/or/entrynodes.h b/src/feature/client/entrynodes.h
similarity index 100%
rename from src/or/entrynodes.h
rename to src/feature/client/entrynodes.h
diff --git a/src/or/transports.c b/src/feature/client/transports.c
similarity index 100%
rename from src/or/transports.c
rename to src/feature/client/transports.c
diff --git a/src/or/transports.h b/src/feature/client/transports.h
similarity index 100%
rename from src/or/transports.h
rename to src/feature/client/transports.h
diff --git a/src/or/control.c b/src/feature/control/control.c
similarity index 100%
rename from src/or/control.c
rename to src/feature/control/control.c
diff --git a/src/or/control.h b/src/feature/control/control.h
similarity index 100%
rename from src/or/control.h
rename to src/feature/control/control.h
diff --git a/src/or/control_connection_st.h b/src/feature/control/control_connection_st.h
similarity index 100%
rename from src/or/control_connection_st.h
rename to src/feature/control/control_connection_st.h
diff --git a/src/or/dirauth/dircollate.c b/src/feature/dirauth/dircollate.c
similarity index 100%
rename from src/or/dirauth/dircollate.c
rename to src/feature/dirauth/dircollate.c
diff --git a/src/or/dirauth/dircollate.h b/src/feature/dirauth/dircollate.h
similarity index 100%
rename from src/or/dirauth/dircollate.h
rename to src/feature/dirauth/dircollate.h
diff --git a/src/or/dirauth/dirvote.c b/src/feature/dirauth/dirvote.c
similarity index 100%
rename from src/or/dirauth/dirvote.c
rename to src/feature/dirauth/dirvote.c
diff --git a/src/or/dirauth/dirvote.h b/src/feature/dirauth/dirvote.h
similarity index 100%
rename from src/or/dirauth/dirvote.h
rename to src/feature/dirauth/dirvote.h
diff --git a/src/or/keypin.c b/src/feature/dirauth/keypin.c
similarity index 100%
rename from src/or/keypin.c
rename to src/feature/dirauth/keypin.c
diff --git a/src/or/keypin.h b/src/feature/dirauth/keypin.h
similarity index 100%
rename from src/or/keypin.h
rename to src/feature/dirauth/keypin.h
diff --git a/src/or/dirauth/mode.h b/src/feature/dirauth/mode.h
similarity index 100%
rename from src/or/dirauth/mode.h
rename to src/feature/dirauth/mode.h
diff --git a/src/or/ns_detached_signatures_st.h b/src/feature/dirauth/ns_detached_signatures_st.h
similarity index 100%
rename from src/or/ns_detached_signatures_st.h
rename to src/feature/dirauth/ns_detached_signatures_st.h
diff --git a/src/or/dirauth/shared_random.c b/src/feature/dirauth/shared_random.c
similarity index 100%
rename from src/or/dirauth/shared_random.c
rename to src/feature/dirauth/shared_random.c
diff --git a/src/or/dirauth/shared_random.h b/src/feature/dirauth/shared_random.h
similarity index 100%
rename from src/or/dirauth/shared_random.h
rename to src/feature/dirauth/shared_random.h
diff --git a/src/or/dirauth/shared_random_state.c b/src/feature/dirauth/shared_random_state.c
similarity index 100%
rename from src/or/dirauth/shared_random_state.c
rename to src/feature/dirauth/shared_random_state.c
diff --git a/src/or/dirauth/shared_random_state.h b/src/feature/dirauth/shared_random_state.h
similarity index 100%
rename from src/or/dirauth/shared_random_state.h
rename to src/feature/dirauth/shared_random_state.h
diff --git a/src/or/vote_microdesc_hash_st.h b/src/feature/dirauth/vote_microdesc_hash_st.h
similarity index 100%
rename from src/or/vote_microdesc_hash_st.h
rename to src/feature/dirauth/vote_microdesc_hash_st.h
diff --git a/src/or/cached_dir_st.h b/src/feature/dircache/cached_dir_st.h
similarity index 100%
rename from src/or/cached_dir_st.h
rename to src/feature/dircache/cached_dir_st.h
diff --git a/src/or/conscache.c b/src/feature/dircache/conscache.c
similarity index 100%
rename from src/or/conscache.c
rename to src/feature/dircache/conscache.c
diff --git a/src/or/conscache.h b/src/feature/dircache/conscache.h
similarity index 100%
rename from src/or/conscache.h
rename to src/feature/dircache/conscache.h
diff --git a/src/or/consdiffmgr.c b/src/feature/dircache/consdiffmgr.c
similarity index 100%
rename from src/or/consdiffmgr.c
rename to src/feature/dircache/consdiffmgr.c
diff --git a/src/or/consdiffmgr.h b/src/feature/dircache/consdiffmgr.h
similarity index 100%
rename from src/or/consdiffmgr.h
rename to src/feature/dircache/consdiffmgr.h
diff --git a/src/or/directory.c b/src/feature/dircache/directory.c
similarity index 100%
rename from src/or/directory.c
rename to src/feature/dircache/directory.c
diff --git a/src/or/directory.h b/src/feature/dircache/directory.h
similarity index 100%
rename from src/or/directory.h
rename to src/feature/dircache/directory.h
diff --git a/src/or/dirserv.c b/src/feature/dircache/dirserv.c
similarity index 100%
rename from src/or/dirserv.c
rename to src/feature/dircache/dirserv.c
diff --git a/src/or/dirserv.h b/src/feature/dircache/dirserv.h
similarity index 100%
rename from src/or/dirserv.h
rename to src/feature/dircache/dirserv.h
diff --git a/src/or/dir_server_st.h b/src/feature/dirclient/dir_server_st.h
similarity index 100%
rename from src/or/dir_server_st.h
rename to src/feature/dirclient/dir_server_st.h
diff --git a/src/or/download_status_st.h b/src/feature/dirclient/download_status_st.h
similarity index 100%
rename from src/or/download_status_st.h
rename to src/feature/dirclient/download_status_st.h
diff --git a/src/or/consdiff.c b/src/feature/dircommon/consdiff.c
similarity index 100%
rename from src/or/consdiff.c
rename to src/feature/dircommon/consdiff.c
diff --git a/src/or/consdiff.h b/src/feature/dircommon/consdiff.h
similarity index 100%
rename from src/or/consdiff.h
rename to src/feature/dircommon/consdiff.h
diff --git a/src/or/dir_connection_st.h b/src/feature/dircommon/dir_connection_st.h
similarity index 100%
rename from src/or/dir_connection_st.h
rename to src/feature/dircommon/dir_connection_st.h
diff --git a/src/or/fp_pair.c b/src/feature/dircommon/fp_pair.c
similarity index 100%
rename from src/or/fp_pair.c
rename to src/feature/dircommon/fp_pair.c
diff --git a/src/or/fp_pair.h b/src/feature/dircommon/fp_pair.h
similarity index 100%
rename from src/or/fp_pair.h
rename to src/feature/dircommon/fp_pair.h
diff --git a/src/or/vote_timing_st.h b/src/feature/dircommon/vote_timing_st.h
similarity index 100%
rename from src/or/vote_timing_st.h
rename to src/feature/dircommon/vote_timing_st.h
diff --git a/src/or/voting_schedule.c b/src/feature/dircommon/voting_schedule.c
similarity index 100%
rename from src/or/voting_schedule.c
rename to src/feature/dircommon/voting_schedule.c
diff --git a/src/or/voting_schedule.h b/src/feature/dircommon/voting_schedule.h
similarity index 100%
rename from src/or/voting_schedule.h
rename to src/feature/dircommon/voting_schedule.h
diff --git a/src/or/hibernate.c b/src/feature/hibernate/hibernate.c
similarity index 100%
rename from src/or/hibernate.c
rename to src/feature/hibernate/hibernate.c
diff --git a/src/or/hibernate.h b/src/feature/hibernate/hibernate.h
similarity index 100%
rename from src/or/hibernate.h
rename to src/feature/hibernate/hibernate.h
diff --git a/src/or/hs_cache.c b/src/feature/hs/hs_cache.c
similarity index 100%
rename from src/or/hs_cache.c
rename to src/feature/hs/hs_cache.c
diff --git a/src/or/hs_cache.h b/src/feature/hs/hs_cache.h
similarity index 100%
rename from src/or/hs_cache.h
rename to src/feature/hs/hs_cache.h
diff --git a/src/or/hs_cell.c b/src/feature/hs/hs_cell.c
similarity index 100%
rename from src/or/hs_cell.c
rename to src/feature/hs/hs_cell.c
diff --git a/src/or/hs_cell.h b/src/feature/hs/hs_cell.h
similarity index 100%
rename from src/or/hs_cell.h
rename to src/feature/hs/hs_cell.h
diff --git a/src/or/hs_circuit.c b/src/feature/hs/hs_circuit.c
similarity index 100%
rename from src/or/hs_circuit.c
rename to src/feature/hs/hs_circuit.c
diff --git a/src/or/hs_circuit.h b/src/feature/hs/hs_circuit.h
similarity index 100%
rename from src/or/hs_circuit.h
rename to src/feature/hs/hs_circuit.h
diff --git a/src/or/hs_circuitmap.c b/src/feature/hs/hs_circuitmap.c
similarity index 100%
rename from src/or/hs_circuitmap.c
rename to src/feature/hs/hs_circuitmap.c
diff --git a/src/or/hs_circuitmap.h b/src/feature/hs/hs_circuitmap.h
similarity index 100%
rename from src/or/hs_circuitmap.h
rename to src/feature/hs/hs_circuitmap.h
diff --git a/src/or/hs_client.c b/src/feature/hs/hs_client.c
similarity index 100%
rename from src/or/hs_client.c
rename to src/feature/hs/hs_client.c
diff --git a/src/or/hs_client.h b/src/feature/hs/hs_client.h
similarity index 100%
rename from src/or/hs_client.h
rename to src/feature/hs/hs_client.h
diff --git a/src/or/hs_common.c b/src/feature/hs/hs_common.c
similarity index 100%
rename from src/or/hs_common.c
rename to src/feature/hs/hs_common.c
diff --git a/src/or/hs_common.h b/src/feature/hs/hs_common.h
similarity index 100%
rename from src/or/hs_common.h
rename to src/feature/hs/hs_common.h
diff --git a/src/or/hs_config.c b/src/feature/hs/hs_config.c
similarity index 100%
rename from src/or/hs_config.c
rename to src/feature/hs/hs_config.c
diff --git a/src/or/hs_config.h b/src/feature/hs/hs_config.h
similarity index 100%
rename from src/or/hs_config.h
rename to src/feature/hs/hs_config.h
diff --git a/src/or/hs_control.c b/src/feature/hs/hs_control.c
similarity index 100%
rename from src/or/hs_control.c
rename to src/feature/hs/hs_control.c
diff --git a/src/or/hs_control.h b/src/feature/hs/hs_control.h
similarity index 100%
rename from src/or/hs_control.h
rename to src/feature/hs/hs_control.h
diff --git a/src/or/hs_descriptor.c b/src/feature/hs/hs_descriptor.c
similarity index 100%
rename from src/or/hs_descriptor.c
rename to src/feature/hs/hs_descriptor.c
diff --git a/src/or/hs_descriptor.h b/src/feature/hs/hs_descriptor.h
similarity index 100%
rename from src/or/hs_descriptor.h
rename to src/feature/hs/hs_descriptor.h
diff --git a/src/or/hs_ident.c b/src/feature/hs/hs_ident.c
similarity index 100%
rename from src/or/hs_ident.c
rename to src/feature/hs/hs_ident.c
diff --git a/src/or/hs_ident.h b/src/feature/hs/hs_ident.h
similarity index 100%
rename from src/or/hs_ident.h
rename to src/feature/hs/hs_ident.h
diff --git a/src/or/hs_intropoint.c b/src/feature/hs/hs_intropoint.c
similarity index 100%
rename from src/or/hs_intropoint.c
rename to src/feature/hs/hs_intropoint.c
diff --git a/src/or/hs_intropoint.h b/src/feature/hs/hs_intropoint.h
similarity index 100%
rename from src/or/hs_intropoint.h
rename to src/feature/hs/hs_intropoint.h
diff --git a/src/or/hs_service.c b/src/feature/hs/hs_service.c
similarity index 100%
rename from src/or/hs_service.c
rename to src/feature/hs/hs_service.c
diff --git a/src/or/hs_service.h b/src/feature/hs/hs_service.h
similarity index 100%
rename from src/or/hs_service.h
rename to src/feature/hs/hs_service.h
diff --git a/src/or/hs_stats.c b/src/feature/hs/hs_stats.c
similarity index 100%
rename from src/or/hs_stats.c
rename to src/feature/hs/hs_stats.c
diff --git a/src/or/hs_stats.h b/src/feature/hs/hs_stats.h
similarity index 100%
rename from src/or/hs_stats.h
rename to src/feature/hs/hs_stats.h
diff --git a/src/or/hsdir_index_st.h b/src/feature/hs/hsdir_index_st.h
similarity index 100%
rename from src/or/hsdir_index_st.h
rename to src/feature/hs/hsdir_index_st.h
diff --git a/src/or/replaycache.c b/src/feature/hs_common/replaycache.c
similarity index 100%
rename from src/or/replaycache.c
rename to src/feature/hs_common/replaycache.c
diff --git a/src/or/replaycache.h b/src/feature/hs_common/replaycache.h
similarity index 100%
rename from src/or/replaycache.h
rename to src/feature/hs_common/replaycache.h
diff --git a/src/or/shared_random_client.c b/src/feature/hs_common/shared_random_client.c
similarity index 100%
rename from src/or/shared_random_client.c
rename to src/feature/hs_common/shared_random_client.c
diff --git a/src/or/shared_random_client.h b/src/feature/hs_common/shared_random_client.h
similarity index 100%
rename from src/or/shared_random_client.h
rename to src/feature/hs_common/shared_random_client.h
diff --git a/src/or/authority_cert_st.h b/src/feature/nodelist/authority_cert_st.h
similarity index 100%
rename from src/or/authority_cert_st.h
rename to src/feature/nodelist/authority_cert_st.h
diff --git a/src/or/desc_store_st.h b/src/feature/nodelist/desc_store_st.h
similarity index 100%
rename from src/or/desc_store_st.h
rename to src/feature/nodelist/desc_store_st.h
diff --git a/src/or/document_signature_st.h b/src/feature/nodelist/document_signature_st.h
similarity index 100%
rename from src/or/document_signature_st.h
rename to src/feature/nodelist/document_signature_st.h
diff --git a/src/or/extrainfo_st.h b/src/feature/nodelist/extrainfo_st.h
similarity index 100%
rename from src/or/extrainfo_st.h
rename to src/feature/nodelist/extrainfo_st.h
diff --git a/src/or/microdesc.c b/src/feature/nodelist/microdesc.c
similarity index 100%
rename from src/or/microdesc.c
rename to src/feature/nodelist/microdesc.c
diff --git a/src/or/microdesc.h b/src/feature/nodelist/microdesc.h
similarity index 100%
rename from src/or/microdesc.h
rename to src/feature/nodelist/microdesc.h
diff --git a/src/or/microdesc_st.h b/src/feature/nodelist/microdesc_st.h
similarity index 100%
rename from src/or/microdesc_st.h
rename to src/feature/nodelist/microdesc_st.h
diff --git a/src/or/networkstatus.c b/src/feature/nodelist/networkstatus.c
similarity index 100%
rename from src/or/networkstatus.c
rename to src/feature/nodelist/networkstatus.c
diff --git a/src/or/networkstatus.h b/src/feature/nodelist/networkstatus.h
similarity index 100%
rename from src/or/networkstatus.h
rename to src/feature/nodelist/networkstatus.h
diff --git a/src/or/networkstatus_sr_info_st.h b/src/feature/nodelist/networkstatus_sr_info_st.h
similarity index 100%
rename from src/or/networkstatus_sr_info_st.h
rename to src/feature/nodelist/networkstatus_sr_info_st.h
diff --git a/src/or/networkstatus_st.h b/src/feature/nodelist/networkstatus_st.h
similarity index 100%
rename from src/or/networkstatus_st.h
rename to src/feature/nodelist/networkstatus_st.h
diff --git a/src/or/networkstatus_voter_info_st.h b/src/feature/nodelist/networkstatus_voter_info_st.h
similarity index 100%
rename from src/or/networkstatus_voter_info_st.h
rename to src/feature/nodelist/networkstatus_voter_info_st.h
diff --git a/src/or/node_st.h b/src/feature/nodelist/node_st.h
similarity index 100%
rename from src/or/node_st.h
rename to src/feature/nodelist/node_st.h
diff --git a/src/or/nodelist.c b/src/feature/nodelist/nodelist.c
similarity index 100%
rename from src/or/nodelist.c
rename to src/feature/nodelist/nodelist.c
diff --git a/src/or/nodelist.h b/src/feature/nodelist/nodelist.h
similarity index 100%
rename from src/or/nodelist.h
rename to src/feature/nodelist/nodelist.h
diff --git a/src/or/parsecommon.c b/src/feature/nodelist/parsecommon.c
similarity index 100%
rename from src/or/parsecommon.c
rename to src/feature/nodelist/parsecommon.c
diff --git a/src/or/parsecommon.h b/src/feature/nodelist/parsecommon.h
similarity index 100%
rename from src/or/parsecommon.h
rename to src/feature/nodelist/parsecommon.h
diff --git a/src/or/routerinfo_st.h b/src/feature/nodelist/routerinfo_st.h
similarity index 100%
rename from src/or/routerinfo_st.h
rename to src/feature/nodelist/routerinfo_st.h
diff --git a/src/or/routerlist.c b/src/feature/nodelist/routerlist.c
similarity index 100%
rename from src/or/routerlist.c
rename to src/feature/nodelist/routerlist.c
diff --git a/src/or/routerlist.h b/src/feature/nodelist/routerlist.h
similarity index 100%
rename from src/or/routerlist.h
rename to src/feature/nodelist/routerlist.h
diff --git a/src/or/routerlist_st.h b/src/feature/nodelist/routerlist_st.h
similarity index 100%
rename from src/or/routerlist_st.h
rename to src/feature/nodelist/routerlist_st.h
diff --git a/src/or/routerparse.c b/src/feature/nodelist/routerparse.c
similarity index 100%
rename from src/or/routerparse.c
rename to src/feature/nodelist/routerparse.c
diff --git a/src/or/routerparse.h b/src/feature/nodelist/routerparse.h
similarity index 100%
rename from src/or/routerparse.h
rename to src/feature/nodelist/routerparse.h
diff --git a/src/or/routerset.c b/src/feature/nodelist/routerset.c
similarity index 100%
rename from src/or/routerset.c
rename to src/feature/nodelist/routerset.c
diff --git a/src/or/routerset.h b/src/feature/nodelist/routerset.h
similarity index 100%
rename from src/or/routerset.h
rename to src/feature/nodelist/routerset.h
diff --git a/src/or/routerstatus_st.h b/src/feature/nodelist/routerstatus_st.h
similarity index 100%
rename from src/or/routerstatus_st.h
rename to src/feature/nodelist/routerstatus_st.h
diff --git a/src/or/signed_descriptor_st.h b/src/feature/nodelist/signed_descriptor_st.h
similarity index 100%
rename from src/or/signed_descriptor_st.h
rename to src/feature/nodelist/signed_descriptor_st.h
diff --git a/src/or/torcert.c b/src/feature/nodelist/torcert.c
similarity index 100%
rename from src/or/torcert.c
rename to src/feature/nodelist/torcert.c
diff --git a/src/or/torcert.h b/src/feature/nodelist/torcert.h
similarity index 100%
rename from src/or/torcert.h
rename to src/feature/nodelist/torcert.h
diff --git a/src/or/vote_routerstatus_st.h b/src/feature/nodelist/vote_routerstatus_st.h
similarity index 100%
rename from src/or/vote_routerstatus_st.h
rename to src/feature/nodelist/vote_routerstatus_st.h
diff --git a/src/or/dns.c b/src/feature/relay/dns.c
similarity index 100%
rename from src/or/dns.c
rename to src/feature/relay/dns.c
diff --git a/src/or/dns.h b/src/feature/relay/dns.h
similarity index 100%
rename from src/or/dns.h
rename to src/feature/relay/dns.h
diff --git a/src/or/dns_structs.h b/src/feature/relay/dns_structs.h
similarity index 100%
rename from src/or/dns_structs.h
rename to src/feature/relay/dns_structs.h
diff --git a/src/or/ext_orport.c b/src/feature/relay/ext_orport.c
similarity index 100%
rename from src/or/ext_orport.c
rename to src/feature/relay/ext_orport.c
diff --git a/src/or/ext_orport.h b/src/feature/relay/ext_orport.h
similarity index 100%
rename from src/or/ext_orport.h
rename to src/feature/relay/ext_orport.h
diff --git a/src/or/router.c b/src/feature/relay/router.c
similarity index 100%
rename from src/or/router.c
rename to src/feature/relay/router.c
diff --git a/src/or/router.h b/src/feature/relay/router.h
similarity index 100%
rename from src/or/router.h
rename to src/feature/relay/router.h
diff --git a/src/or/routerkeys.c b/src/feature/relay/routerkeys.c
similarity index 100%
rename from src/or/routerkeys.c
rename to src/feature/relay/routerkeys.c
diff --git a/src/or/routerkeys.h b/src/feature/relay/routerkeys.h
similarity index 100%
rename from src/or/routerkeys.h
rename to src/feature/relay/routerkeys.h
diff --git a/src/or/rend_authorized_client_st.h b/src/feature/rend/rend_authorized_client_st.h
similarity index 100%
rename from src/or/rend_authorized_client_st.h
rename to src/feature/rend/rend_authorized_client_st.h
diff --git a/src/or/rend_encoded_v2_service_descriptor_st.h b/src/feature/rend/rend_encoded_v2_service_descriptor_st.h
similarity index 100%
rename from src/or/rend_encoded_v2_service_descriptor_st.h
rename to src/feature/rend/rend_encoded_v2_service_descriptor_st.h
diff --git a/src/or/rend_intro_point_st.h b/src/feature/rend/rend_intro_point_st.h
similarity index 100%
rename from src/or/rend_intro_point_st.h
rename to src/feature/rend/rend_intro_point_st.h
diff --git a/src/or/rend_service_descriptor_st.h b/src/feature/rend/rend_service_descriptor_st.h
similarity index 100%
rename from src/or/rend_service_descriptor_st.h
rename to src/feature/rend/rend_service_descriptor_st.h
diff --git a/src/or/rendcache.c b/src/feature/rend/rendcache.c
similarity index 100%
rename from src/or/rendcache.c
rename to src/feature/rend/rendcache.c
diff --git a/src/or/rendcache.h b/src/feature/rend/rendcache.h
similarity index 100%
rename from src/or/rendcache.h
rename to src/feature/rend/rendcache.h
diff --git a/src/or/rendclient.c b/src/feature/rend/rendclient.c
similarity index 100%
rename from src/or/rendclient.c
rename to src/feature/rend/rendclient.c
diff --git a/src/or/rendclient.h b/src/feature/rend/rendclient.h
similarity index 100%
rename from src/or/rendclient.h
rename to src/feature/rend/rendclient.h
diff --git a/src/or/rendcommon.c b/src/feature/rend/rendcommon.c
similarity index 100%
rename from src/or/rendcommon.c
rename to src/feature/rend/rendcommon.c
diff --git a/src/or/rendcommon.h b/src/feature/rend/rendcommon.h
similarity index 100%
rename from src/or/rendcommon.h
rename to src/feature/rend/rendcommon.h
diff --git a/src/or/rendmid.c b/src/feature/rend/rendmid.c
similarity index 100%
rename from src/or/rendmid.c
rename to src/feature/rend/rendmid.c
diff --git a/src/or/rendmid.h b/src/feature/rend/rendmid.h
similarity index 100%
rename from src/or/rendmid.h
rename to src/feature/rend/rendmid.h
diff --git a/src/or/rendservice.c b/src/feature/rend/rendservice.c
similarity index 100%
rename from src/or/rendservice.c
rename to src/feature/rend/rendservice.c
diff --git a/src/or/rendservice.h b/src/feature/rend/rendservice.h
similarity index 100%
rename from src/or/rendservice.h
rename to src/feature/rend/rendservice.h
diff --git a/src/or/geoip.c b/src/feature/stats/geoip.c
similarity index 100%
rename from src/or/geoip.c
rename to src/feature/stats/geoip.c
diff --git a/src/or/geoip.h b/src/feature/stats/geoip.h
similarity index 100%
rename from src/or/geoip.h
rename to src/feature/stats/geoip.h
diff --git a/src/or/rephist.c b/src/feature/stats/rephist.c
similarity index 100%
rename from src/or/rephist.c
rename to src/feature/stats/rephist.c
diff --git a/src/or/rephist.h b/src/feature/stats/rephist.h
similarity index 100%
rename from src/or/rephist.h
rename to src/feature/stats/rephist.h
diff --git a/src/or/Makefile.nmake b/src/or/Makefile.nmake
deleted file mode 100644
index 429ae6785..000000000
--- a/src/or/Makefile.nmake
+++ /dev/null
@@ -1,79 +0,0 @@
-all: tor.exe
-
-CFLAGS = /O2 /MT /I ..\win32 /I ..\..\..\build-alpha\include /I ..\common \
-    /I ..\ext
-
-LIBS = ..\..\..\build-alpha\lib\libevent.lib \
- ..\..\..\build-alpha\lib\libcrypto.lib \
- ..\..\..\build-alpha\lib\libssl.lib \
- ..\..\..\build-alpha\lib\libz.lib \
- ws2_32.lib advapi32.lib shell32.lib \
- crypt32.lib gdi32.lib user32.lib
-
-LIBTOR_OBJECTS = \
-  addressmap.obj \
-  buffers.obj \
-  channel.obj \
-  channelpadding.obj \
-  channeltls.obj \
-  circpathbias.obj \
-  circuitbuild.obj \
-  circuitlist.obj \
-  circuitmux.obj \
-  circuitmux_ewma.obj \
-  circuitstats.obj \
-  circuituse.obj \
-  command.obj \
-  config.obj \
-  config_codedigest.obj \
-  confparse.obj \
-  connection.obj \
-  connection_edge.obj \
-  connection_or.obj \
-  control.obj \
-  cpuworker.obj \
-  directory.obj \
-  dirserv.obj \
-  dirvote.obj \
-  dns.obj \
-  dnsserv.obj \
-  ext_orport.obj \
-  fp_pair.obj \
-  entrynodes.obj \
-  geoip.obj \
-  hibernate.obj \
-  main.obj \
-  microdesc.obj \
-  networkstatus.obj \
-  nodelist.obj \
-  ntmain.obj \
-  onion.obj \
-  onion_fast.obj \
-  onion_ntor.obj \
-  onion_tap.obj \
-  policies.obj \
-  reasons.obj \
-  relay.obj \
-  rendclient.obj \
-  rendcommon.obj \
-  rendmid.obj \
-  rendservice.obj \
-  rephist.obj \
-  replaycache.obj \
-  router.obj \
-  routerlist.obj \
-  routerparse.obj \
-  routerset.obj \
-  scheduler.obj \
-  statefile.obj \
-  status.obj \
-  transports.obj
-
-libtor.lib: $(LIBTOR_OBJECTS)
-	lib $(LIBTOR_OBJECTS) /out:$@
-
-tor.exe: libtor.lib tor_main.obj
-	$(CC) $(CFLAGS) $(LIBS) libtor.lib ..\common\*.lib ..\ext\*.lib tor_main.obj /Fe$@
-
-clean:
-	del $(LIBTOR_OBJECTS) tor_main.obj *.lib tor.exe





More information about the tor-commits mailing list