Replace Opaque and Strict options with a TunnelServer option.
This commit is contained in:
parent
0e59fb022c
commit
e3220cacb5
12 changed files with 82 additions and 49 deletions
|
|
@ -17,7 +17,7 @@
|
|||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
$Id: protocol_auth.c,v 1.1.4.29 2003/11/10 22:31:53 guus Exp $
|
||||
$Id: protocol_auth.c,v 1.1.4.30 2003/11/17 15:30:18 guus Exp $
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
|
@ -476,19 +476,6 @@ bool send_ack(connection_t *c)
|
|||
if((get_config_bool(lookup_config(c->config_tree, "TCPOnly"), &choice) && choice) || myself->options & OPTION_TCPONLY)
|
||||
c->options |= OPTION_TCPONLY | OPTION_INDIRECT;
|
||||
|
||||
choice = false;
|
||||
get_config_bool(lookup_config(config_tree, "Opaque"), &choice);
|
||||
get_config_bool(lookup_config(c->config_tree, "Opaque"), &choice);
|
||||
c->status.opaque = choice;
|
||||
|
||||
if(c->status.opaque)
|
||||
c->options |= OPTION_INDIRECT;
|
||||
|
||||
choice = false;
|
||||
get_config_bool(lookup_config(config_tree, "Strict"), &choice);
|
||||
get_config_bool(lookup_config(c->config_tree, "Strict"), &choice);
|
||||
c->status.strict = choice;
|
||||
|
||||
return send_request(c, "%d %s %d %lx", ACK, myport, c->estimated_weight, c->options);
|
||||
}
|
||||
|
||||
|
|
@ -501,6 +488,15 @@ static void send_everything(connection_t *c)
|
|||
|
||||
/* Send all known subnets and edges */
|
||||
|
||||
if(tunnelserver) {
|
||||
for(node = myself->subnet_tree->head; node; node = node->next) {
|
||||
s = node->data;
|
||||
send_add_subnet(c, s);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
for(node = node_tree->head; node; node = node->next) {
|
||||
n = node->data;
|
||||
|
||||
|
|
@ -565,8 +561,7 @@ bool ack_h(connection_t *c)
|
|||
|
||||
/* Send him everything we know */
|
||||
|
||||
if(!c->status.opaque)
|
||||
send_everything(c);
|
||||
send_everything(c);
|
||||
|
||||
/* Create an edge_t for this connection */
|
||||
|
||||
|
|
@ -586,10 +581,10 @@ bool ack_h(connection_t *c)
|
|||
|
||||
/* Notify everyone of the new edge */
|
||||
|
||||
if(c->status.opaque)
|
||||
send_add_edge(broadcast, c->edge);
|
||||
else
|
||||
if(tunnelserver)
|
||||
send_add_edge(c, c->edge);
|
||||
else
|
||||
send_add_edge(broadcast, c->edge);
|
||||
|
||||
/* Run MST and SSSP algorithms */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue