### Local Variables: *** ### mode:perl *** ### comment-column:0 *** ### comment-start: "### " *** ### comment-end: "***" *** ### End: *** # # ****************DO NOT MOVE OR CHANGE LINES ABOVE THIS********************* # # The first set of lines runs perl from any shell. The second set of lines # identifies the rest of the file as PERL for EMACS autoformatting. # See end of copyright for more information. # # # ------------------------------------------------------------------- # X-BONE # # http://www.isi.edu/xbone # USC Information Sciences Institute (USC/ISI) # Marina del Rey, California 90292, USA # Copyright (c) 1998-2005 # # ------------------------------------------------------------------- # # Copyright (c) 1998-2005 by the University of Southern California. # All rights reserved. # # Permission to use, copy, modify, and distribute this software and # its documentation in source and binary forms for non-commercial # purposes and without fee is hereby granted, provided that the above # copyright notice appear in all copies and that both the copyright # notice and this permission notice appear in supporting # documentation, and that any documentation, advertising materials, # and other materials related to such distribution and use acknowledge # that the software was developed by the University of Southern # California, Information Sciences Institute. The name of the # University may not be used to endorse or promote products derived # from this software without specific prior written permission. # # THE UNIVERSITY OF SOUTHERN CALIFORNIA MAKES NO REPRESENTATIONS ABOUT # THE SUITABILITY OF THIS SOFTWARE FOR ANY PURPOSE. THIS SOFTWARE IS # PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, # INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # # Other copyrights might apply to parts of this software and are so # noted when applicable. # # ------------------------------------------------------------------- # # Effort partly sponsored by the Defense Advanced Research Projects # Agency (DARPA) and Air Force Research Laboratory, Air Force Materiel # Command, USAF, under agreement numbers F30602-98-1-0200 (X-Bone) and # F30602-01-2-0529 (DynaBone). The views and conclusions contained # herein are those of the authors and should not be interpreted as # necessarily representing the official policies or endorsements, # either expressed or implied, of the Defense Advanced Research # Projects Agency (DARPA), the Air Force Research Laboratory, or the # U.S. Government. # # This work was partly supported by the NSF STI-XTEND (ANI-0230789) # and NETFS (ANI-0129689) projects. Any opinions, findings, and # conclusions or recommendations expressed in this material are those # of the authors and do not necessarily reflect the views of the # National Science Foundation. # # ------------------------------------------------------------------- # $RCSfile: XB_Params.pm,v $ # # $Revision: 1.68 $ # $Author: pingali $ # $Date: 2005/04/10 06:45:02 $ # $State: Exp $ # ---------------------------------------------------------------------------- # # Description: Definition of default values for various options and # parameters used in XBone # Primary Authors: the XBone Group (xbone@isi.edu) package XB_Params; require Exporter; @ISA = qw(Exporter); @EXPORT = qw(); @EXPORT_OK = qw( node_opts CISCO_BUDDY_USERNAME CISCO_BUDDY_PASSWORD CISCO_BUDDY_ENABLE_PASSWORD NODEOS ALLOWED_NODEOS XBONE_NET DNS_FILE_FORWARD DNS_FILE_REVERSE NAMED_PID XBONE_HOME XBONE_PROTOCOL DNS_SERVER DNS_SERVER_SECONDARY DNS_UPDATE_MODE SECURITY_CA_CERT SECURITY_SERVER_CERT SECURITY_SERVER_KEY MAX_MCAST_RADIUS XB_CTL_PORT MCAST_ADDR CA_EMAIL XB_API_PORT IPSEC_ENABLE_RANDOM_PADDING NODEOS_LABEL IP_MULTICAST_IF IP_MULTICAST_TTL IP_MULTICAST_LOOP IP_ADD_MEMBERSHIP IP_DROP_MEMBERSHIP IP_MULTICAST_VIF SOL_IP NET_TIMEOUT SO_RCVBUF ACTUATOR_MSG_LIMIT ACTUATOR_TIMEOUT LOG_DEST LOG_MASK LOG_FILE DUPLICATE_DETECTION_INTERVAL XBONE_RELEASE XBONE_OVLMGR_BACKCOMPAT XBONE_DAEMON_BACKCOMPAT IPSEC_DISABLE_REPLAY_PROTECTION LOOPBACK_IP_ADDRESS IP_ADDRESS_LENGTH REVISITATION ENABLE_FIREWALL_FORWARDING NODE_ASSIGNMENT_POLICY); use strict; use sigtrap; use FindBin; use Config; $XB_Params::XBONE_HOME = $FindBin::RealBin; #========================================================================= # XBone Versions & Dates #========================================================================= # XBone software & protocol versions: XBone API, CTL, XOL, & release $XB_Params::api_ver = "2.0"; $XB_Params::ctl_ver = "2.0"; $XB_Params::xol_ver = "2.0"; $XB_Params::rel_ver = "3.0"; #========================================================================= # XBone Node Options & States #========================================================================= # node_opts: XBone node parameters %XB_Params::node_opts = (); # node_state: XBone node state %XB_Params::node_state = (); # persistent socket: stores socket handles for persistent connections %XB_Params::persistent_socks = (); #========================================================================= # Configuration Options #------------------------------------------------------------------------- # # Default values for XBone node configuration options: # # o Options here could be set from either command line or conf file. # o Precedence: # [command line] > [configuration file] > [XB_Params (default)] # o Do not change this file unless it's site- or network-specific. # Use command line or configuration file to override default values # with node-specific properties. #========================================================================= #= 0. Generic Options/Parameters ========================================= #Operational model: automatic or not? $XB_Params::auto = "yes"; # conf: XBone node configuration file, full or relative path $XB_Params::conf = "/usr/local/etc/xbone/xbone.conf"; $XB_Params::gui_conf = "/usr/local/etc/xbone/xbone-gui.conf"; # working directory: for state & log files, application deployment, etc. $XB_Params::workdir = "/var/xbone"; # state: XBone state file $XB_Params::state_file = "xbone.state"; # daemon type: types of a node in virtual networks # host: host # router: router # node: host or router # meta: meta nodes (overlay managers) $XB_Params::daemon_type = "node"; #= 1. Node IP config parameters ============================================= # hostname $XB_Params::hostname = ""; # address for control connection $XB_Params::ctl_addr = ""; $XB_Params::ctl_addr6 = ""; # address for app/data connection $XB_Params::app_addr = ""; $XB_Params::app_addr6 = ""; #= 2. XBone Network Parameters ============================================== # IP protocol version support: # # ipproto control multicast overlay* # ======================================= # ipv4 ipv4 ipv4 ipv4 # # ipv6 ipv6 ipv6 ipv6 # # / ipv4 --- ipv4 --- ipv4 # both ---- # \ ipv6 --- ipv6 --- ipv6 # ======================================= # * overlay net/link/phy # ipv4 v4 / v4 / v4 # ipv6 v6 / v6 / v6 # $XB_Params::ipproto = "both"; # old & legacy values: [TODO remove these once we cleanup] $XB_Params::address_type = $XB_Params::ipproto; $XB_Params::control_protocol = $XB_Params::ipproto; # multicast address/group: http://www.iana.org $XB_Params::xbone_mcast_addr = "224.192.0.1"; $XB_Params::xbone_mcast_addrv6 = "FF0c:0:0:0:0:0:0:6061"; # ports: # xbone_api_port: XBone API -> manage virtual networks # official IANA port: x-bone-api 2165 # xbone_ctl_port: XBone CTL -> configure nodes in a virtual network # official IANA port: x-bone-ctl 265 $XB_Params::xbone_api_port = 2165; $XB_Params::xbone_ctl_port = 265; # RTT: # Rough estimate on the timeout for RTT in seconds # Note that all timeout values are derived from RTT. $XB_Params::xbone_rtt = 10; #= 3. Logging =============================================================== # log_dest: log destination(s), combine the chosen ones with logic OR '|' # operation: SYSLOG, ERR, OUT, FILE. $XB_Params::SYSLOG = (2**0); # log to syslog $XB_Params::ERR = (2**1); # log to STDERR $XB_Params::OUT = (2**2); # log to STDOUT $XB_Params::FILE = (2**3); # log to file $XB_Params::log_dest = $XB_Params::FILE | $XB_Params::OUT; # log_mask: log mask (copied from syslog(3)), list & suggested usages # emerg: (panic) # alert: (should be corrected immediately) # crit: (critical conditions) # err: errors # warning: warning messages # notice: not error conditions, but should be handled # info: enter/exit subroutines # debug: misc logs: stop points, traces, etc. # debug0: # debug1: general debugging info # debug2: more detailed debugging info # debug3: dump simple variables # debug4: dump data structures # debug5: dump pkts & messages # ------------------------------------------------------ # debug6: dump parsed object hash # debug7: dump messages # debug8: misc debug messages & info # debug9+: gory details not suitable for human being $XB_Params::log_mask = # For release: "emerg alert crit err warning notice"; # -------------------------------------------------------------- # For development: # "emerg alert crit err warning notice info debug debug0 debug1 ". # "debug2 debug3 debug4 debug5 debug6 debug7 debug8"; # log_file: log file, only effective if FILE is included in LOG_DEST $XB_Params::log_file = "xbone.log"; #= 4. X.509 certificate & key info ========================================== # cert & key: node certificate & key files $XB_Params::node_cert = "/usr/local/etc/xbone/cert/xbone-node-cert.pem"; $XB_Params::node_key = "/usr/local/etc/xbone/cert/xbone-node-key.pem"; # CAcert: CA cert file: $XB_Params::ca_cert = "/usr/local/etc/xbone/cert/CAcert.pem"; $XB_Params::ca_path = "/usr/local/etc/xbone/cert"; #= 5. ACLs ================================================================== # List of allowed parent Overlay Managers @XB_Params::ovl_manager = (); # List of user ACL %XB_Params::user_acl = ( #acl num => 50000 => '\S+ guest 0 nobody' ); %XB_Params::shared_user_acl = (); #= 6. Node Features & Capabilities ========================================== # OS $XB_Params::os = ''; $XB_Params::NODEOS = ""; # OS release version $XB_Params::os_version = ""; # Kernel Version $XB_Params::kern_version = ""; # System/CPU architecture $XB_Params::node_arch = ""; # Routing # - routing types: dynamic vs. static # - routing daemons: [if dynamic] zebra, xorp, ... # - routing algorithms: [if dynamic] RIP, iBGP, eBGP, OSPF, ... # * currently, overload "routing" to mean the following: # o static: static routing # o dynamic: with zebra/rip, **the only combination XBone supports now** $XB_Params::routing = "static"; # IPsec $XB_Params::IPsec = "yes"; # QoS $XB_Params::qos = "no"; #= 7. Address Server Parameters (Optional) ================================== # addrserv: IP allocator / address server flag $XB_Params::addrserv = 1; # address blocks if ($XB_Params::addrserv) $XB_Params::netv4 = "172.26.0.0/16"; $XB_Params::linkv4 = "172.27.0.0/16"; $XB_Params::netv6 = "fec0::/112"; $XB_Params::linkv6 = "fed0::/112"; # remote address server $XB_Params::addr_server = ''; # temporary flag to use new IP allocation code: (default old) # must have p5-NetAddr-IP-3.17 if set to 1 $XB_Params::new_alloc = 0; #= 8. DNS Settings ========================================================== #Enable/Disable DNS $XB_Params::dns = "no"; # The node running the BIND Server $XB_Params::name_server = ""; # this name has to match the specification in the # named configuration files. If you are not sure, leave this # as it is. These are the two values used during setup of the # DNS. # ***** NOTE REVERSE ZONE MUST BE CONSISTENT WITH XB_Params::netv4 $XB_Params::forward_zone = "xbone.overlay"; $XB_Params::reverse_zone = "26.172.IN-ADDR.ARPA"; $XB_Params::reverse_zone6 = "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.c.e.f.IP6.INT"; # File containing the shared key name and value for authenticated # dynamic update. This is the name you use while setting up the # named. Copy the K....+157+.....key file. make sure that the # permissions are appropriately set. $XB_Params::dns_key_file = "/usr/local/etc/xbone/Kkey-test.+157+32035.key"; #= 9. Dynamic Routing Settings ============================================= # Zebra home directory $XB_Params::zebra_dir = "/usr/local/etc/zebra"; #========================================================================= # XBone Runtime Parameters # Some runtime parameters not configurable from command line or conf file #========================================================================= #= Timers ================================================================ # Timer/Timeout values in seconds # o rtt_timeout: general timeout for network transactions (scale of RTT) # o ovl_timeout: general timeout for overlay transactions (scale of web) # o refresh: refresh message period # o expire: expiration time for overlays in the absence of refresh msgs # o period: period the node checks for sending refresh or expiring an ovl $XB_Params::rtt_timeout = 3; $XB_Params::ovl_timeout = 60; $XB_Params::refresh = 60*15; $XB_Params::expire = 60*120; $XB_Params::period = 60*5; # state_time: time of the state recorded in the state file $XB_Params::state_time = time; # Time period for refreshing shared data (CA, ACL) $XB_Params::data_refresh_period = 3600; #= Minimum OS versions for various features: XBone, IPsec, IPv6 ========== %XB_Params::os_support = ( freebsd => 470000, linux => "2.4.18" ); %XB_Params::IPsec_support = ( freebsd => 450000, linux => "2.5.47" ); %XB_Params::IPv6_support = ( freebsd => 450000, linux => "2.6.x" ); #= ACL =================================================================== # authentication type @XB_Params::auth_type = qw(x509); # access level %XB_Params::access_level = ( 'deploy' => [ "create_overlay", "discover_daemons", "list_overlays", "overlay_status", "destroy_overlay", "select", "config", "status", "stop", "invite", "release", "refresh", "discover" ], 'guest' => [ "discover_daemons", "list_overlays", "overlay_status", "status", "discover" ] ); # set default app deployment suid to highest allowd by ACL when not # specified in overlay create request, otherwise, it'll always be 'nobody' $XB_Params::HIGHEST_ACL_SUID = 0; #= Misc. ================================================================= $XB_Params::DEBUGGING = 0; # main switch, turn on the following $XB_Params::SSL_DEBUG = 1; # 0=none, 1=errors, 2=1+cipher # 3=2+progress, 4=3+data $XB_Params::NO_FORK = 0; $XB_Params::PERSISTENT_SOCK = 0; # APPEND_ERR_LOG: # 0 => Record only the first "err" log. # 1 => Accumulate (append) all "err" logs until it's cleared. (LOOOONG) $XB_Params::APPEND_ERR_LOG = 0; # XBone message delimiters $XB_Params::msg_delimiter = "XBoneEOC"; # Flag to allow hosts using Guest Host certificate $XB_Params::GUEST_OK = 0; # Hostname on the Guest Host certificate $XB_Params::guesthost = 'guest.xbone.overlay'; # Error reply: used to collect error message whenever XB_Log::log is called # with "err" log mask. **Accummulative, must be clear after it's used.** $XB_Params::error_reply = ""; # pid file. $XB_Params::pidfile = "xbone.pid"; #= Used by Cisco. ============================================================ $XB_Params::CISCO_BUDDY_USERNAME = ""; $XB_Params::CISCO_BUDDY_PASSWORD = ""; $XB_Params::CISCO_BUDDY_ENABLE_PASSWORD = ""; #= Used by LDAP. ============================================================= # information on certificates is filled based on command line parameters, # configuration file and default settings in XB_Params. There is duplication # of parameters to allow us to access LDAP server before the entire # command line and configuration file processing is completed. %XB_Params::ldap = ( "registered" => "no", # registered already? "enable" => "no", "server" => "ldap.xbone.net", "scope" => "local", "port" => "636", "version" => "3", "instance" => "", "userdn" => "cn=XBoneUser,ou=Users,ou=local,ou=xbone", "hostname" => "", "password" => "", "ca_cert" => "", #To be filled later "ca_path" => "", #To be filled later "node_cert" => "", #To be filled later "node_key" => "", #To be filled later ); #= XBone World Wide Network=========================================== %XB_Params::register = ( "enable" => "no", "variable" => "os, os_version, ipproto", ); #------------------------------------------------------------------------------ # OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD OLD #------------------------------------------------------------------------------ ############################################################ # The following are used only by xb-overlay-manager # They are provided here because # - xb-overlay-manager has no config file # - this is the place for changeable constants ############################################################ $XB_Params::XBONE_OVERLAY_MANAGER = # Hostname used by the OM to "www.xbone.net"; # identify itself in heartbeats $XB_Params::SECURITY_SERVER_CERT = # used by the OM as its public key "$XB_Params::XBONE_HOME/..."; # XXX no idea where this goes after reorg $XB_Params::SECURITY_SERVER_KEY = # used by the OM as its private key "$XB_Params::XBONE_HOME/..."; # XXX no idea where this goes after reorg $XB_Params::DEMO_MODE = 0; # Flag for demo mode. Set this to 1 to # force the OM to pick nodes in the # reverse order. 0 is normal operation. $XB_Params::XBONE_OVLMGR_BACKCOMPAT = # Overlay Manager is backward compatible ""; # with these XBONE_RELEASE release versions # (separated by "|", eg, "1.3|1.2") $XB_Params::OVLMGR_PING_INTERVAL = 60*15; # Overlay Manager sweeps all hosts in # all overlays, issuing heartbeat # messages to each of them. This sweep # is performed as once every interval. # Value is seconds. ############################################################ # The following are used only by nearly everybody :-) ############################################################ $XB_Params::XBONE_VERSION_DATE = # Date this version was created. # "30/10/2001"; # "//" "01/01/2005"; # <- for development $XB_Params::XBONE_OBSOLETE_LIMIT = # Seconds after the version date 60*60*24*30*6; # when the version should be obsolete. $XB_Params::API_PROTOCOL = "2.0"; # Protocol version of the XBone API $XB_Params::XBONE_PROTOCOL = "1.5"; # Protocol version of the XBone internal # communication (OM <-> RD) $XB_Params::XBONE_RELEASE = "3.0"; # Version number of the XBone software # release $XB_Params::XBONE_NET = # The domain name associated with this "xbone.overlay"; # particular Xbone overlay network. @XB_Params::ALLOWED_DNS_NODEOS = # List of allowed OS names for the one qw(freebsd linux solaris sunos kame nist cisco); # RD host that manipulates the Xbone # DNS domain. $XB_Params::SYSLOG = (2**0); $XB_Params::ERR = (2**1); $XB_Params::OUT = (2**2); $XB_Params::FILE = (2**3); $XB_Params::LOG_DEST = # Log to both the log file and stderr. # $XB_Params::FILE; # Also see XB_Log.pm. $XB_Params::FILE|$XB_Params::OUT; # Specify the set of things to log. $XB_Params::LOG_MASK = # emerg, alert, crit, err, warning, notice # info, debug0, debug1, ... # For debugging, info, debug, & debug1 are # useful, but very noisy. # uncomment one of the following two groups for release or coding/debugging # "emerg alert crit err warning notice"; # for release, log critical ones only "emerg alert crit err warning ". # for internal coding/debugging, show "notice info debug debug0 debug1 ". # everything "debug2 debug3 debug4 debug5"; $XB_Params::LOG_FILE = # File name where logging data is written. "/var/log/xbone.log"; # Use only when XB_Params::LOG_DEST & "FILE". $XB_Params::DAEMON_CONF_FILE = "/usr/local/etc/xbone/Xbone_daemon.conf"; # location of Xbone daemon's configuration $XB_Params::DAEMON_STATE_DIR = "/var/xbone"; $XB_Params::REVISITATION = 0; # Should revisitation be enabled? #== XBone Runtime Directories ================================================= # - XBONE_RUN_DIR: Base for other XBone runtime directories. Must be # configurable from command line & config file. #============================================================================== $XB_Params::XBONE_RUN_DIR = "/var/xbone"; $XB_Params::DAEMON_STATE_FILE = "$XB_Params::DAEMON_STATE_DIR/Xbone_daemon.state"; # File where Xbone daemon's overlay state # is kept for daemon crash recovery. %XB_Params::DAEMON_STATE = (); # Hash of Xbone daemon's current state $XB_Params::ERASE_AT_STARTUP = 0; # Erase Xbone daemon's tunnel, IPSec # and route state. NOTE: This should be # non-zero only at ISI. $XB_Params::DAEMON_STATE_TIME = 1; # Last time that the Xbone daemon's state # was dumped out to the state file. $XB_Params::OVERLAY_ALIVE_TIME = 60*120; # Seconds that the resource daemon will # allow an overlay to remain without # receiving a keep-alive message from # an overlay manager. $XB_Params::OVERLAY_SWEEP_INTERVAL = 60*10; # Seconds that resource daemon waits # between sweeps, looking for overlays # that have not been kept alive. $XB_Params::NET_TIMEOUT = 120; # Network timeout in seconds. Use one # instead of 5 different timeouts before. #------------------------------------------------------------ # OS dependent section to define NAMED_ZONE_PATH & NAMED_PID. #------------------------------------------------------------ if ($Config{osname} eq "linux") { $XB_Params::NAMED_ZONE_PATH="/var/named/xbone"; # NEED VERIFICATION! if(-d "/var/run/named"){ $XB_Params::NAMED_PID="/var/run/named/named.pid"; }else{ $XB_Params::NAMED_PID="/var/run/named.pid"; } } if ($Config{osname} eq "solaris") { $XB_Params::NAMED_ZONE_PATH="/var/adm/domain/xbone"; $XB_Params::NAMED_PID="/var/adm/domain/named.pid"; } if ($Config{osname} eq "freebsd") { $XB_Params::NAMED_ZONE_PATH="/etc/namedb/xbone"; $XB_Params::NAMED_PID="/var/run/named.pid"; } $XB_Params::DNS_FILE_FORWARD = # Forward DNS database file for overlays.b "$XB_Params::NAMED_ZONE_PATH/xbone-forward.zone"; $XB_Params::DNS_FILE_REVERSE = # Reverse DNS database file for overlays "$XB_Params::NAMED_ZONE_PATH/xbone-reverse.zone"; $XB_Params::DNS_SERVER = # Primary Xbone DNS name server "dns2.xbone.overlay"; $XB_Params::DNS_SERVER_SECONDARY = # Secondary Xbone DNS server "dns2.xbone.overlay"; ################################################################### # The only allowed values for the DNS update mode are: # # $DNS_UPDATE_MODE = "update_both"; # Update both assumes that the DNS is running in two primaries # mode and that the DNS system will not update the second primary # # $DNS_UPDATE_MODE = "update_1_hup_2"; # Update 1 hup 2 assumes that we have one primary and one secondary # so we update the primary and hup the secondary to get an instantaneous # update. # # The current decision is to run as update_1_hup_2 ################################################################### $XB_Params::DNS_UPDATE_MODE = # See above block comment. "update_1_hup_2"; $XB_Params::DNS_TIMEOUT = 15; # Fifteen second DNS cache time. # A value lower than 15 is undefined. # used by both RD and OM when calling XB_SSL::init() # XXX shouldn't this be kept where the conf file is kept? -- Lars $XB_Params::SECURITY_CA_CERT = "$XB_Params::XBONE_HOME/isi/ca/CAcert.pem"; # IPv6 peek: define mcast address $XB_Params::MCAST_ADDR = # Multicast address used by XBONE "224.192.0.1"; $XB_Params::XB_CTL_PORT = 3365; # Multicast port used by XBone and alos # the unicast TCP and UDP ports used. # Official IANA port: x-bone-ctl $XB_Params::XB_API_PORT = 4365; # TCP port used by XBone API # Official IANA port: x-bone-api # IPv6 peek: define address blocks $XB_Params::XB_IP_EXTERNAL_BLOCK = # IP block for releases, from RFC 1918 "172.26.0.0/16"; # (breaks rev DNS w/o RD using XB DNS) $XB_Params::XB_IP_INTERNAL_BLOCK = # IP block for releases, from RFC 1918 "172.27.0.0/16"; # (breaks rev DNS w/o RD using XB DNS) #$XB_Params::XB_IP_EXTERNAL_BLOCK = # IP block owned by X-Bone project, for # "198.32.6.0/24"; # local ISI use #$XB_Params::XB_IP_INTERNAL_BLOCK = # IP block owned by X-Bone project, for # "198.32.7.0/24"; # local ISI use # IPv6 peek: define subnet $XB_Params::XB_OVL_SUBNET_BITS = 8; $XB_Params::MAX_MCAST_RADIUS = 16; # The largest radius that should be used $XB_Params::DUPLICATE_DETECTION_INTERVAL # time interval in seconds we should = 120; # keep msgs to prevent duplicates $XB_Params::ACTUATOR_MSG_LIMIT = # Maximum size of overlay mgr's reservation 65536; # datagram $XB_Params::ACTUATOR_TIMEOUT = 15; # Time OM waits during resource discovery $XB_Params::IP_MULTICAST_IF = 9; $XB_Params::IP_MULTICAST_TTL = 10; $XB_Params::IP_MULTICAST_LOOP = 11; $XB_Params::IP_ADD_MEMBERSHIP = 12; $XB_Params::IP_DROP_MEMBERSHIP = 13; $XB_Params::IP_MULTICAST_VIF = 14; ######################################################## # getsockopt() and setsockopt layer for IP protocol. # Needed due to bug in Perl version of getprotobyname(). ######################################################## $XB_Params::SOL_IP = 0; $XB_Params::SO_RCVBUF = 128*1024; ####################################### # Global variables used across modules ####################################### @XB_Params::DNS_ADD_FWD_PARMS = (); # Holds DNS forward addition parameters @XB_Params::DNS_DEL_FWD_PARMS = (); # " " forward deletion " #== Application Deployment ==================================================== $XB_Params::ENABLE_APP_DEPLOY = 1; # set to 1 to enable app deployment code %XB_Params::APP_LIST = (); # hash: AppName -> [ AppFile, LastTime ] $XB_Params::APP_RUN = # absolute path for application run-time "$XB_Params::XBONE_RUN_DIR/apps"; # directory @XB_Params::APP_KEYWORDS = # list of known keywords to replace ("REALHOST", "OVLHOST", "OVLNAME", "OVLSUFFIX", "REALIP", "IPLIST", "IP1", "APPNAME", "APPSCRIPT"); #============================================================================== # IPv6 peek: loopback $XB_Params::LOOPBACK_IP_ADDRESS # IP Loopback address = "127.0.0.1"; # IPv6 peek: define address length $XB_Params::IP_ADDRESS_LENGTH # Length of IP Address = 32; $ENV{PATH} = ""; foreach my $thispath (qw(/usr/local/v6/ /usr/local/ / /usr/)) { foreach my $subdir (qw(sbin bin)) { if(-d $thispath.$subdir) { $ENV{PATH} .= ":".$thispath.$subdir; } } } $ENV{PATH} =~ s/^://; $XB_Params::TEMP_DIR = "/tmp/"; # Temporary Directory to use $XB_Params::CA_EMAIL = # email address of the CA that signs "X-Bone Certification Authority ".# certificates for this xbone installation ""; # (this should go somewhere else) 1; # Insure TRUE return if module is interpreted.