Nick Mathewson
3f2339d1d3
Implement EXTENDCIRCUIT and ATTACHCIRCUIT. Only SETCONFIG and AUTHENTICATE remain.
...
svn:r4455
2005-06-18 03:09:43 +00:00
Nick Mathewson
c2f6fe9b85
Implement even more control functionality
...
svn:r4454
2005-06-18 02:39:25 +00:00
Nick Mathewson
9b4aa8d2ab
Implement all the easy bits of the new control protocol
...
svn:r4449
2005-06-17 20:37:21 +00:00
Nick Mathewson
f9f09f1c5e
Start implementing framework for revised control spec.
...
svn:r4447
2005-06-17 18:49:55 +00:00
Nick Mathewson
beae4d0d32
whitespace fix
...
svn:r4414
2005-06-11 18:59:24 +00:00
Nick Mathewson
232861ba42
Docment or add DOCDOC comments to undocumented functions in src/or. Make function definition format uniform.
...
svn:r4411
2005-06-11 18:52:12 +00:00
Roger Dingledine
fcd0fc3364
flesh out the source file descriptions for doxygen
...
svn:r4404
2005-06-11 05:31:17 +00:00
Nick Mathewson
0831823763
Change end-of-file NLNL convention. It turns out arma I and I agree.
...
svn:r4382
2005-06-09 19:03:31 +00:00
Nick Mathewson
9f24078452
Fix buffer overlow when checking hashed passwords
...
svn:r4308
2005-06-05 14:28:47 +00:00
Nick Mathewson
11a64692c3
Make hashed controller password encoding use hex not base64; this makes it possible to write a controller without base64
...
svn:r4279
2005-05-23 02:31:53 +00:00
Roger Dingledine
0fa1890e0e
fix the assumption that uninitialized variables are 0
...
clean up router_load_single_router() more
svn:r4266
2005-05-18 03:52:07 +00:00
Roger Dingledine
5265bbd2b8
first iteration of scrubbing sensitive strings from logs.
...
also generally clean up log messages.
svn:r4174
2005-05-03 10:04:08 +00:00
Nick Mathewson
69dc4e1675
Remove support for looking at old directory/routerdesc elements; mark non-new elements optional; switch to new format for dir-signing-key; start accepting newer elements so we can mark them as non-opt later; make tor-spec say the right stuff.
...
svn:r4154
2005-05-02 21:22:31 +00:00
Nick Mathewson
fe65e57ca1
Re-do fragmented control message handling to work with new buf_t system.
...
svn:r4144
2005-04-27 22:01:34 +00:00
Nick Mathewson
ce9995a579
Replace an infinite-stack-recursion bug with a generate-infinite-debug-messages bug. Maybe it isnt such a good idea to send LOG_DEBUG messages to the controller after all?
...
svn:r4082
2005-04-17 22:52:02 +00:00
Nick Mathewson
f1dfa30064
Fix postdescriptor behavior: on non-complete success, only say "done" once.
...
svn:r4073
2005-04-11 02:52:09 +00:00
Nick Mathewson
74dc7eedc5
Add kludgy function to force controllers to flush EVENT_ERR_MSG events.
...
svn:r4057
2005-04-08 03:36:39 +00:00
Nick Mathewson
4991290935
Revise control spec and implementation to allow all log messages to be sent to controller with their severities intact.
...
svn:r4010
2005-04-05 22:56:17 +00:00
Nick Mathewson
055ee7c323
Give better warnings if connection_close_unattached_ap gets called twice or called on a marked connection; rename it to connection_mark_unattached_ap.
...
svn:r3990
2005-04-02 22:11:24 +00:00
Nick Mathewson
4a90d37229
Better messages when POSTDESCRIPTOR fails
...
svn:r3989
2005-04-02 22:02:13 +00:00
Nick Mathewson
0e81265359
update copyright notices.
...
svn:r3982
2005-04-01 20:15:56 +00:00
Nick Mathewson
1bf1f44e74
Fix bug in redirectstream.
...
svn:r3926
2005-03-31 06:06:02 +00:00
Roger Dingledine
7a79acd9f6
clean up socks reply stuff more.
...
add a few more reasons so we can be more informative.
svn:r3895
2005-03-27 06:37:56 +00:00
Roger Dingledine
36baf7219d
stop most cases of hanging up on a socks connection without sending
...
the socks reject. audit for remaining ones. also make things more
uniform so we always remember to hold-open-until-flushed, etc.
svn:r3891
2005-03-27 04:55:13 +00:00
Roger Dingledine
fa3c9d94bc
when you attachstream to a circid of 0, send back an answer
...
svn:r3857
2005-03-24 06:28:21 +00:00
Roger Dingledine
09ef2b7e41
cleanup so connection_ap_handshake_attach_chosen_circuit() always
...
gets open circs.
svn:r3856
2005-03-24 06:18:59 +00:00
Nick Mathewson
0cfdeb01c8
Debug EXTENDCIRCUIT
...
svn:r3849
2005-03-24 01:08:25 +00:00
Nick Mathewson
6e4bccc4ac
Make GETINFO for "network-status" work on non-authdirs
...
svn:r3837
2005-03-23 19:15:10 +00:00
Nick Mathewson
b9016bd18f
Fix several bugs (including some crashes) related to control interface; implement missing desc/name functionality.
...
svn:r3836
2005-03-23 08:40:11 +00:00
Nick Mathewson
7a0072cc1a
Specify and implement close-stream and close-circuit control messages
...
svn:r3814
2005-03-22 19:36:38 +00:00
Roger Dingledine
d6a0e5bcc9
when reporting events about streams, use the "real" address for
...
the stream, including the requested .exit address.
svn:r3810
2005-03-22 10:34:23 +00:00
Roger Dingledine
76a03e8635
handle_control_getinfo() was counting msg_len itself,
...
when that's actually smartlist_join_strings2()'s job.
svn:r3806
2005-03-22 05:41:05 +00:00
Roger Dingledine
ed9524a626
Remove controller getinfo support for "desc/all-ids".
...
Replace it with getinfo "network-status" just like in directories.
This way the controller can learn which servers are running, which
are verified, etc.
svn:r3801
2005-03-22 03:27:51 +00:00
Roger Dingledine
35953edae0
Implement controller's "extendcircuit" directive.
...
Also refactor circuit building so we plan the whole path ahead
of time.
svn:r3797
2005-03-22 00:42:38 +00:00
Nick Mathewson
07a7b6af64
Implement redirectstream in control interface.
...
svn:r3785
2005-03-19 06:05:55 +00:00
Nick Mathewson
df9c8feac7
Commit fixes for several pending tor core tasks: document all DOCDOCed functions; time out uncontrolled unattached streams; feed reasons to SOCKS5 (refactoring connection_ap_handshake_socks_reply in the process); change DirFetchPeriod/StatusFetchPeriod to have a special "Be smart" value.
...
svn:r3769
2005-03-17 12:38:37 +00:00
Nick Mathewson
97dad670ea
Renormalize whitespace
...
svn:r3757
2005-03-14 03:18:35 +00:00
Nick Mathewson
115271f65e
Implement the common case of ATTACHSTREAM.
...
svn:r3751
2005-03-12 04:22:01 +00:00
Nick Mathewson
6394f77edb
Initialize msg_len
...
svn:r3737
2005-03-10 18:46:11 +00:00
Nick Mathewson
a308353600
Fix const-ness warning
...
svn:r3733
2005-03-10 06:15:46 +00:00
Nick Mathewson
c185825585
Finish implementing GETINFO; make it easy to query address maps.
...
svn:r3732
2005-03-03 06:37:54 +00:00
Nick Mathewson
f90ccf5648
Implement new controller events for changed descriptors and new (not-yet-attached) streams.
...
svn:r3731
2005-03-02 22:29:58 +00:00
Nick Mathewson
5315b61e13
Fix some log messages to refer to correct control type.
...
svn:r3729
2005-03-02 21:59:36 +00:00
Nick Mathewson
5f8e2c2bc4
Rename unused-address functions to virtual address; this is more accurate. Also, include almost-right implementation of reusing dont-care mappings. (It is still kind of wrong because it does not take type into account.)
...
svn:r3728
2005-03-02 21:02:11 +00:00
Nick Mathewson
b494c2223d
Specify and implement fragmented control messages to allow for (among other things) long GETINFO replies. Otherwise we could hit the 64K barrier on questions like "please dump your client-side DNS cache."
...
svn:r3726
2005-03-02 20:22:10 +00:00
Nick Mathewson
65230fd39f
Implement "Dont-Care" from addresses to MapAddress control message. For safety, refuse to launch connections to unmapped addresses in the dont-care range.
...
svn:r3725
2005-03-02 19:26:46 +00:00
Nick Mathewson
b7b05dc1b2
make control interface stream IDs monotonically increasing to prevent possible races
...
svn:r3715
2005-03-01 01:15:01 +00:00
Roger Dingledine
25ff3a5042
fix bug in control mapaddress
...
svn:r3705
2005-02-27 23:20:48 +00:00
Nick Mathewson
bbaa3c7792
Implement more control spec functionality
...
- Mapaddress
- Postdescriptor
- GetInfo on descriptors
Required changes elsewhere:
- Keep the most recent running_routers_t in the routerlist_t. That way we
can learn about new routers and remember whether we were last told that
they were up or down. Also enables more simplifications.
- Keep the signed descriptor inside routerinfo_t. This makes
descriptor_entry_t in dirservers.c unneeded.
- Rename AddressMap (the verb) to MapAddress. Keep AddressMap as a noun.
- Check addresses for plausibility before mapping them.
svn:r3696
2005-02-25 20:46:13 +00:00
Nick Mathewson
8396105d84
Implement some of GETINFO control message
...
svn:r3694
2005-02-25 06:37:07 +00:00
Nick Mathewson
81d2c2d8e5
Stub functions for new control-spec logic.
...
svn:r3693
2005-02-25 06:16:28 +00:00
Nick Mathewson
a6e587305f
typo spotted by chris
...
svn:r3308
2005-01-05 06:48:39 +00:00
Nick Mathewson
dcd228585d
Implement SIGNAL control command.
...
svn:r3307
2005-01-05 06:40:47 +00:00
Roger Dingledine
f9fd101869
forward port:
...
fix a fencepost: we were blowing away the \n when reporting confvalue items
svn:r3194
2004-12-21 02:57:25 +00:00
Roger Dingledine
e1bc3f097e
bugfix: when we're reporting event circuit status, don't call it a stream.
...
while we're at it, include ":port" in the stream event string.
svn:r3148
2004-12-14 03:36:33 +00:00
Nick Mathewson
75cefd8989
Remove bugfixes that did not actually do anything, before we start a cargo cult.
...
svn:r3145
2004-12-13 18:48:12 +00:00
Nick Mathewson
1e71b83890
Fix a bug in parsing HashedControlPassword.
...
svn:r3143
2004-12-13 18:32:29 +00:00
Roger Dingledine
011ad3cba5
clean up logging,
...
make it clearer which warns are bugs,
make the control log event match its specification,
point out a bug in how we deal with failure when renewing the tls context.
svn:r3138
2004-12-13 00:44:39 +00:00
Nick Mathewson
06ce31b948
Only set a cookie when we intend to.
...
svn:r3114
2004-12-07 19:36:43 +00:00
Nick Mathewson
f19e9b8577
doxygen uses backslashes, not forward-slashes
...
svn:r3033
2004-11-30 06:17:35 +00:00
Nick Mathewson
7fbd297532
Suggestion from weasel: Make tor --version --version dump the cvs Id of every file.
...
svn:r3019
2004-11-29 22:25:31 +00:00
Nick Mathewson
6f5dbefa7e
Normalize space: add one between every control keyword and control clause.
...
svn:r3003
2004-11-28 09:05:49 +00:00
Roger Dingledine
7c9a707900
remove emacs droppings, since nick says he doesn't need them anymore
...
svn:r2989
2004-11-26 04:00:55 +00:00
Nick Mathewson
0a58bbe0dd
Fix critical bug in circuit_list_path: cpath is a circular list! (Also reimplement circuit_log_cpath using circuit_list_cpath).
...
svn:r2946
2004-11-23 00:11:36 +00:00
Roger Dingledine
310a8da0d2
break reached_eof() out of process_inbuf()
...
svn:r2930
2004-11-21 10:14:57 +00:00
Nick Mathewson
076f120951
Patch to patch: do not send both error and done for one command.
...
svn:r2882
2004-11-15 04:02:59 +00:00
Roger Dingledine
47993ae6fb
some fixes so far
...
svn:r2880
2004-11-15 03:53:03 +00:00
Nick Mathewson
a732727a2b
Add simpler option_is_same, as suggested by arma. Finish implementing SAVECONF
...
svn:r2868
2004-11-14 20:51:28 +00:00
Nick Mathewson
60880cda84
Resolve a bunch of FIXME items; mark a lot more for attention; ask for clarification on some. Turn all XXXX008 ("showstopper for 0.0.8 release") items into XXXX009 or XXXX, since plainly they were not showstoppers for 0.0.8. Add/clean some docs.
...
svn:r2808
2004-11-12 16:39:03 +00:00
Nick Mathewson
6252cba522
apply patch from Andre Eisenbach: include event code with events, as required by control-spec.txt
...
svn:r2799
2004-11-11 00:54:53 +00:00
Nick Mathewson
b960574556
Change interface to config_trial_assign even more; have it use get_options() instead
...
svn:r2754
2004-11-09 17:15:17 +00:00
Roger Dingledine
8d8d6b5661
raise your hand if you can spell
...
svn:r2743
2004-11-09 10:21:19 +00:00
Roger Dingledine
233f516d61
if you're going to ask it to use a body of length 0,
...
don't give it a body.
svn:r2742
2004-11-09 10:18:41 +00:00
Roger Dingledine
dd3a12c929
fix a memory-squashing bug that was causing an infinite loop
...
svn:r2741
2004-11-09 10:08:42 +00:00
Roger Dingledine
3901473bf3
change the interface to config_trial_assign()
...
svn:r2737
2004-11-09 07:55:48 +00:00
Roger Dingledine
6521c2ce51
Stop using the wrong DataDirectory when we're validating.
...
Also validate/normalize the DataDirectory better.
svn:r2732
2004-11-09 07:05:53 +00:00
Nick Mathewson
48a0b6c476
Separate is-recognized-option from get-option-value, since NULL is ambiguous and returning "" misrepresents.
...
svn:r2731
2004-11-09 06:40:32 +00:00
Roger Dingledine
90b47172bd
Make an options_act() where we do all the things a new options set
...
needs.
Still needs more work.
svn:r2716
2004-11-09 04:28:18 +00:00
Roger Dingledine
8c7b2ff7ed
various fixes
...
svn:r2712
2004-11-09 01:24:10 +00:00
Nick Mathewson
fc9c6e7c95
Fix compile errors
...
svn:r2708
2004-11-07 23:11:29 +00:00
Nick Mathewson
c514a06663
Fix up error codes
...
svn:r2706
2004-11-07 22:58:35 +00:00
Roger Dingledine
dac5d6715e
add saveconf control command.
...
allow authentication by localhost, but if tor demands more, require more.
svn:r2704
2004-11-07 22:37:59 +00:00
Nick Mathewson
2cacb4e0f9
Document control.c
...
svn:r2700
2004-11-07 21:37:50 +00:00
Roger Dingledine
3236ee3127
allow unauth control connections for now
...
let control connections recognize eof
svn:r2699
2004-11-07 11:33:04 +00:00
Roger Dingledine
394554cfbf
Clean up copyrights.
...
Break connection_consider_empty_buckets() out of
connection_read_bucket_decrement().
svn:r2698
2004-11-07 01:33:06 +00:00
Roger Dingledine
6c61ed4fb5
Make options no longer a global variable.
...
Now we can try setting an option but back out if it fails to parse, or
if it's disallowed (e.g. changing RunAsDaemon from 1 to 0).
Use parse_line_from_str rather than parse_line_from_file.
svn:r2692
2004-11-06 05:18:11 +00:00
Nick Mathewson
1b49198081
Support code for resettable options, and option sets. Still needs validate-and-then-replace logic
...
svn:r2679
2004-11-04 22:31:50 +00:00
Nick Mathewson
5b312541d7
fix windows warnings
...
svn:r2667
2004-11-03 21:53:54 +00:00
Nick Mathewson
cea9125d71
Implement two flavors of authentication for control connections: one for trusted FS, one for untrusted FS.
...
svn:r2664
2004-11-03 19:49:03 +00:00
Nick Mathewson
451f8b5045
- Implement all of control interface except authentication, setconfig,
...
and actually making the sockets.
- Make sure that identity-based nicknames start with $.
- Use new string_join interface.
svn:r2661
2004-11-03 18:33:07 +00:00
Roger Dingledine
e541319dcb
lay the groundwork for a default value for each config option.
...
tolerate null exitnodes, entrynodes, etc config options.
svn:r2655
2004-11-03 10:08:44 +00:00
Nick Mathewson
347d3f9d62
Start implementing control interface.
...
svn:r2652
2004-11-03 01:32:26 +00:00