#include "saxdb.h"
#include "shun.h"
-#include <regex.h>
+#include <tre/regex.h>
#ifdef HAVE_SYS_TIMES_H
#include <sys/times.h>
{ "OSMSG_ROUTINGPLAN_NAME", "$b%s:$b" },
{ "OSMSG_ROUTINGPLAN_SERVER"," %s:%d <-- %s[%d/%s] (%s)" },
{ "OSMSG_ADDPLAN_SUCCESS", "Added new routing plan '%s'." },
- { "OSMSG_ADDPLAN_FAILURE", "Could not add new plan '%s' (does it already exist?)." },
+ { "OSMSG_ADDPLAN_FAILED", "Could not add new plan '%s' (does it already exist?)." },
{ "OSMSG_INVALID_PLAN", "That routing plan name is not valid." },
{ "OSMSG_PLAN_DELETED", "The routing plan was sucessfully deleted." },
{ "OSMSG_PLAN_NOT_FOUND", "There is no routing plan called '%s'." },
{ "OSMSG_COULDNT_FIND_SERVER", "Couldnt find %s, so using %s to link %s" },
{ "OSMSG_INSPECTING_SERVER", "Inspecting server [%s]" },
{ "OSMSG_REROUTING_ACC_MAP", "Rerouting network according to loaded map.." },
+ { "OSMSG_REROUTING_NOTCONFIGURED", "You have not configured routing. See $/msg $O help routing$b." },
{ "OSMSG_CONNECTING_MISSING_ONLY", "Connecting missing servers only.." },
{ "OSMSG_NO_ROUTING_NECESSARY", "No rerouting appears necessary." },
{ "OSMSG_TESTING_REROUTE", "Testing Reroute(): Commands not sent to socket.." },
free(rp);
}
-/* ************************************************************************
- * Auto Routing Plans
- * ************************************************************************
- *
- * XXX: routing plan TODO work
- *
- * DONE
- * - read from .db into opserv_routing_plans. format:
- * - write back to .db
- * - show (stats routingplans?)
- * - cmd_routing_addplan
- * - cmd_routing_delplan
- * - cmd_routing_addserver
- * - cmd_routing_delserver
- * - cmd_routing_set
- * - cmd_reroute ( c / n / t )
- * - routing map
- * TODO
- * - timer after attempting a connect,
- * to see if it timed out.
- * ************************************************************************
- */
-
-
/*************************************************
* Functions to handle the active routing struct */
return 0; /* its uplink isnt here to link to */
}
}
- log_module(MAIN_LOG, LOG_ERROR, "Tried to link %s but its not in the active routing struct!", server);
- return 0; /* server wasnt found in active route struct ?! */
+ log_module(MAIN_LOG, LOG_DEBUG, "Tried to link %s but its not in the active routing struct!", server);
+ return 0; /* server wasnt found in active route struct. */
}
int routing_connect_children(struct route *route, char *server)
int connect = 0, move = 0, missing = 0, i;
char d = toupper(*directive);
+ if(!route || !route->servers) {
+ reply("OSMSG_REROUTING_NOTCONFIGURED");
+ return 0;
+ }
if(user) {
if(d == 'N') { /* normal */
irc_wallops("%s", "Attempting a reroute of the network according to loaded map...");
activate_routing(NULL, NULL, NULL);
/* attempt to link it again. */
routing_connect_one(opserv_route, server);
+ /* TODO: reconnect any missing servers who
+ * normally connect to server, using their backups.
+ * Probably should just issue a reroute C here. */
}
}
}