aboutsummaryrefslogtreecommitdiff
path: root/src/lib
AgeCommit message (Collapse)Author
2019-12-08add KV_RAW to kvline.cTaylor Yu
Add the KV_RAW flag to kvline_encode(). This allows generation of output that is compatible with some quirks of the control protocol. Part of #30984.
2019-12-08clean up kvline_can_encode_lines()Taylor Yu
Add a check for '=' characters in needs_escape(). This simplifies the logic in kvline_can_encode_lines(). Part of #30984.
2019-12-02Merge branch 'ticket32207'Nick Mathewson
2019-12-02Link to mainloop_pubsub.[ch] when describing delivery policiesNick Mathewson
2019-11-26If statements to getresuid() and getresgid() in setuid.c shouldn't have an ↵Neel Chauhan
extra space
2019-11-26crypt_ops: Fix some weird macro spacingteor
2019-11-21Merge branch 'ticket32209'Nick Mathewson
2019-11-21config.md: suggestions from teorNick Mathewson
2019-11-21hs-v3: Return bad address SOCKS5 extended errorDavid Goulet
If ExtendedErrors is set for the SocksPort, an invalid .onion address now returns the 0xF6 error code per prop304. Closes #30022 Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-18Merge branch 'tor-github/pr/1423'George Kadianakis
2019-11-18Merge remote-tracking branch 'tor-github/pr/1517'teor
2019-11-16map.h: replace maptype with mapname_tNick Mathewson
This change makes our macro bodies consistent with our naming expectations for structs and types outside macro bodies.
2019-11-16handles.h: replace structname with structname_tNick Mathewson
This change makes our macro bodies consistent with our naming expectations for structs and types outside macro bodies.
2019-11-16Revise struct names in examples in comments to end with _tNick Mathewson
2019-11-16Topic documentation on our publish-subscribe architecture.Nick Mathewson
2019-11-15High-level documentation of configuration in Tor.Nick Mathewson
Closes ticket 32209.
2019-11-15Doxygen: rename all .dox files to end with .mdNick Mathewson
Using a standard ending here will let other tools that expect markdown understand our output here. This commit was automatically generated with: for fn in $(find src -name '*.dox'); do \ git mv "$fn" "${fn%.dox}.md"; \ done
2019-11-15Doxygen: remove /** and **/ from all .dox filesNick Mathewson
This is an automatically generated commit, made with: find src -name '*.dox' | \ xargs perl -i -ne 'print unless (m#^\s*/?\*\*/?\s*$#);'
2019-11-15Merge branch 'ticket32211'Nick Mathewson
2019-11-15Initialization documents: incorporate feedback from review.Nick Mathewson
(Thanks, Taylor!)
2019-11-14Run "make autostyle"teor
2019-11-12HACKING/design: move 01c-time.md into doxygen.Nick Mathewson
2019-11-12Move 01g-strings.md into doxygen.Nick Mathewson
2019-11-1201f-threads.md becomes threading.dox.Nick Mathewson
2019-11-12HACKING/design: turn the remaining parts of crypto into a certs docNick Mathewson
2019-11-11Light grammar editsNick Mathewson
2019-11-11Merge remote-tracking branch 'tor-github/pr/1338'Nick Mathewson
2019-11-11Merge branch 'ticket32404'Nick Mathewson
2019-11-11clarify OBSOLETE vs IGNORE.Nick Mathewson
2019-11-11Doxygen: close an unterminated <b>.Nick Mathewson
2019-11-11doxygen: use <tt> and # to avoid interpreting # as a link.Nick Mathewson
2019-11-10Not const.Nick Mathewson
2019-11-10Improve subsys documentation; add initialization documentation.Nick Mathewson
2019-11-07Refactor "OBSOLETE" typeNick Mathewson
It no longer warns, and is now defined in terms of an "IGNORE" type. (The "IGNORE" type is the same as "OBSOLETE", except that it is not reported as obsolete. It should be useful for disabled modules.) Closes ticket 32404.
2019-11-07New configuration flag to warn that a variable is obsolete.Nick Mathewson
Part of 32404.
2019-11-07Rename probability distribution names to end with "_t".Nick Mathewson
I needed to do this by hand, since we also use these for function names, variable names, macro expansion, and a little token pasting.
2019-11-07Make all our struct names end with "_t".Nick Mathewson
This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ address_ttl_s address_ttl_t \ aes_cnt_cipher aes_cnt_cipher_t \ authchallenge_data_s authchallenge_data_t \ authenticate_data_s authenticate_data_t \ cached_bw_event_s cached_bw_event_t \ cbuf cbuf_t \ cell_ewma_s cell_ewma_t \ certs_data_s certs_data_t \ channel_idmap_entry_s channel_idmap_entry_t \ channel_listener_s channel_listener_t \ channel_s channel_t \ channel_tls_s channel_tls_t \ circuit_build_times_s circuit_build_times_t \ circuit_muxinfo_s circuit_muxinfo_t \ circuitmux_policy_circ_data_s circuitmux_policy_circ_data_t \ circuitmux_policy_data_s circuitmux_policy_data_t \ circuitmux_policy_s circuitmux_policy_t \ circuitmux_s circuitmux_t \ coord coord_t \ cpuworker_job_u cpuworker_job_u_t \ cv_testinfo_s cv_testinfo_t \ ddmap_entry_s ddmap_entry_t \ dircollator_s dircollator_t \ dist_ops dist_ops_t \ ecdh_work_s ecdh_work_t \ ewma_policy_circ_data_s ewma_policy_circ_data_t \ ewma_policy_data_s ewma_policy_data_t \ fp_pair_map_entry_s fp_pair_map_entry_t \ fp_pair_map_s fp_pair_map_t \ guard_selection_s guard_selection_t \ mbw_cache_entry_s mbw_cache_entry_t \ outbuf_table_ent_s outbuf_table_ent_t \ queued_event_s queued_event_t \ replyqueue_s replyqueue_t \ rsa_work_s rsa_work_t \ sandbox_cfg_elem sandbox_cfg_elem_t \ scheduler_s scheduler_t \ smp_param smp_param_t \ socket_table_ent_s socket_table_ent_t \ state_s state_t \ threadpool_s threadpool_t \ timeout_cb timeout_cb_t \ tor_libevent_cfg tor_libevent_cfg_t \ tor_threadlocal_s tor_threadlocal_t \ url_table_ent_s url_table_ent_t \ worker_state_s worker_state_t \ workerthread_s workerthread_t \ workqueue_entry_s workqueue_entry_t
2019-11-07Adjustments to 32406 per reviewNick Mathewson
When we are failing because of a lack of a _required_ engine, note that the engine was "required". When engines are disabled, any required engine should cause a failure.
2019-11-07Add the ability to fail when a hardware accelerator is missing.Nick Mathewson
Closes ticket 32406.
2019-11-07Stop using "config_suite_offset=-1" to indicate "no config suite."Nick Mathewson
Instead, create a separate "has_config_suite" boolean, so that only top-level formats with config_suites need to declare an offset at all.
2019-11-07crypto config: do not change the user's value of HardwareAccel.Nick Mathewson
We still interpret "AccelName" as turning on the "HardwareAccel" feature, but we no longer modify the user's options here. Fixes bug 32382; bugfix on 0.2.2.1-alpha when we added openssl engine support.
2019-11-07Use new configuration architecture for crypto optionsNick Mathewson
This is a comparatively simple change.
2019-11-07Add subsys functions for receiving/flushing states and options.Nick Mathewson
These functions are in the subsystem, not in the config_format_t, since they are about how the format is _used_, not about _what it is_.
2019-11-07Give subsystems optional config formats and state formats.Nick Mathewson
The formats, when provided, are now added to the global config_mgr_t objects.
2019-11-07Expose get_obj() functions from confmgt.c.Nick Mathewson
The subsysmgr code wants to use them.
2019-11-07Define a low-level version of the confdecl table macrosNick Mathewson
This version uses the enum rather than the type definitions, to avoid layering violations and linking problems.
2019-11-07Add FOO_type_defn globals so that confdecl.h can refer to them.Nick Mathewson
2019-11-07Macros for declaring configuration structs and variable-tablesNick Mathewson
In our old design, we had to declare configuration structures (like or_options_t) and variable tables (like option_vars_) separately, and we used some magic to enforce their consistency (see conftesting.h). With this design, we write a single definition for the configuration object and its fields, and use C macros to expand it either into a structure, or a variable table. Since they are both made from the same source, they can't become inconsistent. The two designs can coexist happily, and we can migrate from one to the other at our convenience.
2019-11-07lib/cc: Define the standard C macro pasting trick in one place.Nick Mathewson
This file is a workaround for the issue that if you say `a ## b` to create a token that is the name of a macro, the C preprocessor won't expand that macro. So you can't say this: #define FOO__SQUARE(x) ((x)*(x)) #define FOO__CUBE(x) ((x)*(x)*(x)) #define FOO(func, x) FOO__##func(x) Instead, the standard C trick is to add a layer of indirection: #define PASTE(a,b) PASTE__(a,b) #define PASTE__(a,b) a ## b #define FOO__SQUARE(x) ((x)*(x)) #define FOO__CUBE(x) ((x)*(x)*(x)) #define FOO(func, x) PASTE(FOO__, func)(x) We should use this kind of trick sparingly, since it gets confusing.
2019-11-07Merge branch 'maint-0.4.2'teor