# # Waterloo TCP/IP sample configuration file. # # Use this file as a template to make your own. # This file should be located in "current directory" or in a *directory* # pointed to by the environment variable "WATTCP.CFG". # # This file is searched in the following directories until found: # 1. via the environment variable "WATTCP.CFG". # 2. in the current directory. # 3. in the directory of the executing program (if DOS 3+ used). # # E.g. Put a copy of this file in "c:\net\watt\bin" and insert this # line in your AUTOEXEC.BAT (or %SystemRoot%\SYSTEM32\AUTOEXEC.NT): # # SET WATTCP.CFG=C:\NET\WATT\BIN # # Note 1: No trailing `\' at end of line, and no spaces around the `='. # # Note 2: The order of keywords/value pairs are significant. # For instance, if you have "134.121.10.8 my_dns" in your # "C:\NET\WATT\BIN\HOSTS" file, then "HOSTS = C:\NET\WATT\BIN\HOSTS" # *must* be listed before the line specifying your name-server; # "NAMESERVER = my_dns". The same rule applies to "GATEWAY" and "COOKIE". # # Note 3: the value (right of `=') is the default if you comment the # line out. Comments starts with `#' or `;'. To use `#' or `;' inside # string values, the string must be put in quotes. # E.g. these keywords have different values: # keyword1 = "hello world #;" # keyword2 = "hello world "#; # # Note 4: The right-side value may contain an environment variable that # will be expanded when read. The effect is like in a Makefile. # E.g. if environment variable "ETC" is "C:\NET\WATT\BIN", # "$(ETC)\HOSTS" becomes "C:\NET\WATT\BIN\HOSTS" after # expansion. See "README.TOO" for details. # # Note 5: keyword and values are generally not case sensitive. # # Note 6: Ethernet (MAC) addresses (i.e. ) can be # specified on both colon (':') form or dash ('-') forms. # E.g. these should be equivalents: # 00:00:C5:98:1D-10 # 00-00-C5-98-1D-10 (lower/uppercase hex doesn't matter) # # Note 7: Remember that all this text takes time to parse (especially on # a 386 or older CPU). Cut down the contents of your "WATTCP.CFG" (not # this file, a copy) to a minimum to improve parsing speed. # # # Text printed to screen (stdout). # print = "Waterloo TCP/IP setup" ; optional key/value # # Packet-driver configuration for DOS targets. For Win32 and # WinPcap/AirPcap/SwsVpkt configuration, see "winpkt." settings below. # # What packet-driver API vector to use. # Most drivers use a value in range 0x60 - 0x80. Newer drivers complying # to the 1.11+ specification allows the range to be 0x20 - 0xFF. # # Default behaviour (value 0x00) is to search for first packet-driver vector # in range 0x60 - 0x80. If you have a new (1.11+) driver with a software # API outside this range, you MUST specify that interrupt here. # pkt.vector = 0x00 ; optional # # Number of retries if PKTDRVR transmit fails. # (total attempts are pkt.txretries+1). # Printed in statistics output (print_mac_stats()) as "Tx retries". # pkt.txretries = 2 ; optional # # Number of milli-sec to wait between transmit retries. # For the NDIS3PKT driver this is fixed at 1 milli-sec. # pkt.txwait = 0 ; optional # # Set the packet-driver receive mode. Normally not needed, but experience # has shown that some drivers may have problem receiving traffic needed for # e.g IPv6. Can also be handy for sniffing (pkt.rxmode = 6). # Only effective if Watt-32 was compiled with USE_MULTICAST or USE_IPV6. # # Note: If you use the NDIS3PKT driver under Windows-XP and create a # bridging adapter (MAC Bridge Miniport), you may need to use # mode 6. I have no idea why. # # These modes are supported: # # 1 = Turn receiver off (take care!) # 2 = Direct, receive only traffic to this PC # 3 = mode 2 + broadcast (default for IPv4) # 4 = mode 3 + limited multicast # 5 = mode 3 + all multicast (default for IPv6) # 6 = promiscuous mode, receive all traffic # pkt.rxmode = 3 ; optional # # Use near-pointers to access the PKTDRVR Rx/Tx buffers. Only effective # for djgpp programs. DOS4GW style programs uses this by default. # djgpp applications using Watt-32 MUST enable near-pointers before # this setting takes effect. I.e something like this must be in your # code; 'int _crt0_startup_flags = _CRT0_FLAG_NEARPTR;' Near-pointers # are not possible under Windows. I.e. the above bit is silently ignored. # # NOTE: Enabling near-pointers disables page protection! Take care. # pkt.near_ptr = 0 ; optional (djgpp only) # # The number of receive buffers to allocate in low DOS-memory. Only # effective for 32-bit targets. 16-bit programs use only 5 buffers. # A value between 2 and 40 is accepted. If you spawn other Watt-32 or # WatTcp programs and run out DOS-memory, reduce this value. # # NO EFFECT YET! # # NOTE: If Watt-32 was compiled without USE_FAST_PKT, there is no upper # limit (except RAM). The default library is compiled with # USE_FAST_PKT to avoid delays in real-mode callbacks. # pkt.rxbufs = 30 ; optional # # At program exit and before freeing the allocated receiver callback, # try to reset the interface. From the 1.09 spec: # Resets the interface associated with handle to a known state, # aborting any transmits in process and reinitialising the receiver. # The local net address is reset to the default (from ROM), the # multicast list is cleared, and the receive mode is set to 3 (own # address & broadcasts). If multiple handles are open, these actions # might seriously disrupt other applications using the interface, # so CANT_RESET should be returned. # # This setting has no effect on some drivers (e.g. NDIS3PKT). # pkt.reset = 0 ; optional # # Configuration for Windows only; WinPcap, AirPcap or SwsVpkt drivers. # # Specify what WinPcap/AirPcap/SwsVpkt device to use. Default is to search # for the first suitable device (one with an IPv4-address). To use a WinPcap # device, specify one on the "\Device\NPF_{...}" form to override. To use # a SwsVpkt device, use "\\.\SwsVpkt0" through "\\.\SwsVpkt31". # Some ways to obtain the NPF (WinPcap) device name is to: # 1) Run "windump -Dv" and it would hopefully list all supported devices. # # 2) Set the below "winpkt.dumpfile = $(TEMP)\winpkt_dump.txt" and run any # Watt-32 program at debug-level 2 or above. I.e. use "debug = 2" below. # Or run "tcpinfo -d". Look at the dumpfile for any hints (an adapter with # an IPv4-address is a good hint). # # 3) Or run this command: # netsh winsock show catalog | grep _tcpip_ # # this will show the Winsock low-level LSP providers. The utput is something # like: # ... [\Device\NetBT_Tcpip_{75451EE7-5145-471A-BAF5-124BE8439D10}] DATAGRAM 4 # The GUID (string inside {..}) is the suffix for "\Device\NPF_". # # Note: none of the above "PKT." settings are used on Windows. # AirPcap is available from http://www.riverbed.com/us/products/cascade/wireshark_enhancements/airpcap.php # SwsVpkt is available from http://www.softsystem.co.uk/products/swsvpkt.htm # WinPcap is available from http://www.winpcap.org. # winpkt.device = ; optional # # The trace-level for winpkt.c code. # winpkt.trace = 0 ; optional # # Same as "pkt.txretries" above. # winpkt.txretries = 2 ; optional # # The receive mode to use. # # A combination of these modes can be used. Not all combination may work, # so take care: # # 0x01 = Direct - Receive traffic destined for this adapter. # 0x02 = Limited Multicast - Only traffic belonging to adapter's group. # 0x04 = All Multicast - All link-layer multicast traffic # 0x08 = Broadcast - All '1' destination MAC addresses. # 0x20 = Promiscous mode - Receive all traffic. # 0x80 = All local - Direct + broadcast + limited multicast + # traffic generated by adapter (i.e. loops). # # Note: don't mix the values of "pkt.rxmode" with these bit values. They # are specified by NDIS. The "pkt.rxmode" values above are specified # by thwe PKTDRVR specification. # # The default mode is directed and broadcast traffic (0x09). # winpkt.rxmode = 0x09 ; optional # # Determines the size of kernel-level receive work buffer for the NPF driver. # Also set the size of the user-level work buffer used (i.e. buffer for # PacketReceivePacket() and ReadFile(). Ref. PacketSetBuff() in WinPcap docs. # Tune this parameter for max performance. # Size of each work buffer becomes "winpkt.rxbufs * 1540". # # Note: If you're running on a system with more than 1 CPU, the kernel-level # buffer gets divided between each CPU. Also note that WinPcap prior to # version 3.1 support only single-CPU systems. # # Note: This setting has no effect when using SwsVpkt. # winpkt.rxbufs = 20 ; optional # # Enable high-priority for the WinPcap/SwsVpkt capture thread. # Should only be needed for low latency applications, like flood-ping :-) # winpkt.highprio = 0 ; optional # # Dump-file to print WinPcap/SwsVpkt debug information to. # This file is only created at startup if debug level (debug_on) is >= 2. # Use "debug = 2" above or call "tcp_setdebug_state(2)". # winpkt.dumpfile = $(TEMP)\winpcap_dump.txt ; optional # # If using a fixed IP-address, insert the dotted decimal address below. # If your LAN has a DHCP server, use "my_ip = dhcp". # Likewise, if you want to get your IP-address via BOOTP or RARP servers. # my_ip = 0.0.0.0 ; mandatory # # The name of this host excluding the domain-name. # Note: may be overridden by DHCP/BOOTP server. # Max 50 characters. # hostname = "random-pc" ; optional # # A better method would be to define it via the environment. # Use $(COMPUTERNAME) if running under Windows for a consistent name here. # #hostname = $(COMPUTERNAME) # # The netmask specifying the sub-net you are on. # Note: may be overridden by DHCP/BOOTP server. # netmask = 255.255.255.0 ; mandatory if not using DHCP # # IP-address (or name) of DNS host(s). The DNS host's job is to # translate hostnames to IP-addresses if the hostname isn't listed # in "$(ETC)\hosts". # # Notes: DHCP/BOOTP servers may add additional name-servers to the one(s) # you specify here. # There are no default server. There can be a total of 10 # nameservers. All name-server are queried in sequence (starting with # the first listed below) until an IP-address is returned. Enter the # fastest or closest name-server first for best result. # There are several public nameservers available. E.g. Google has # several. So you can use "nameserver = 8.8.8.8" or "8.8.4.4" # # nameserver = 0.0.0.0 ; primary DNS, mandatory if not using DHCP # nameserver = 0.0.0.0 ; secondary DNS, optional # # The IP-address (or name) of your gateway(s). # If you are running DOS-PPP with EtherNet emulation this should be # replaced with $(REMIP). For SLIP or normal PPP, gateway is not used. # # The syntax is "ip-addr [,subnet [,mask]]" # # Notes: Will most likely be overridden by DHCP/BOOTP server. # The ARP-routing table is limited to 8 gateways. # The ARP-cache is limited to 64 entries. # # gateway = 0.0.0.0 ; mandatory if not using BOOTP/DHCP # # You can have maximum 8 "gateway" statements. E.g. if # your default gateway is 10.0.0.1, but you need to use the gateway # 10.0.0.2 to reach host 10.0.0.10, use this statement: # "gateway = 10.0.0.2, 10.0.0.10, 255.255.255.255" # # The Internet Domain Name of your network (of which your subnet is # part of). The "Fully Qualified Domain Name" (FQDN) of your host is # hostname + domain.suffix. E.g. "random-pc.your.domain.com". # # Note: "domain.suffix" (or previously named "domainslist", "domainlist") # is used by the DNS client to resolve "dot-less names" (i.e. no # `.' in host-name) recursively. # E.g. resolving "random-pc2" will query all DNS-servers for these # names until an IP-address is found: # "random-pc2.your.domain.com" # "random-pc2.domain.com" # "random-pc2.com" # "random-pc2" # # This behaviour can be turned off with "domain.recurse = 0" # See below. # # Note: domain.suffix may be overridden by DHCP server. # Max 50 characters. # domain.suffix = your.domain.com ; mandatory if not using DHCP # # The old name for "domain.suffix". It has the same effect, but don't # use both versions. # # domainslist = your.domain.com ; mandatory if not using DHCP # # The total time waiting for response (and including re-transmissions) # from each DNS-host. The total host lookup time is * # . A value <4*sockdelay> is used if not defined # (or if domain.timeout = 0). # domain.timeout = 0 ; optional # # Recursively resolve dot-less names. See above. If set to "0", only # requests for "name" is sent to DNS-servers. Also known as "Domain-name # devolution". # domain.recurse = 1 ; optional # # Enable lookup of names with non-ASCII characters via ACE and IDNA # (Internationalizing Domain Names in Applications, RFC-3490). # If set to 0, names are never converted to/from ACE format. # Only effctive if built with USE_IDNA (ref. config.h). # domain.idna = 1 ; optional # # Try to resolve a name to an IPv6 address in programs that uses # "gethostbyname2("host",AF_INET6)" or "getaddrinfo()". Default is to # try resolve using an AAAA record before an A record. Set to 0 to # skip trying to resolve to an IPv6-address. # domain.do_ipv6 = 1 ; optional # # Bit-values for Query/Write of the WinDns (dnsapi.dll): # 0x0001 - Query cache before resolving a name to an IPv4 address (A). # 0x0002 - Query cache before resolving a name to an IPv6 address (AAAAA). # 0x0004 - Query cache before resolving an IPv4 addresses to a name (PTR). # 0x0008 - Query cache before resolving an IPv6 addresses to a name (PTR). # # 0x0100 - Try to register a name + IPv4 address with the DNS service. # 0x0200 - Try to register a name + IPv6 address with the DNS service. # # Registering is attempted after a local A/AAAA query succeeds. # Currently effective only for native Windows programs. # This setting only have effect for Win32 programs. # domain.windns = 0x0000 ; optional # # If using a PPP-driver your host-name will normally be different each # time you get online. To query your true host-name set value below to 1. # The penalty for using this option is a small delay since your assigned # IP-address (MY_IP) must be reverse resolved into a Fully Qualified # Domain Name (FQDN). # # Note: The use of this option will cause any HOSTNAME or DOMAIN.SUFFIX to # be over-written. Any host-name or domain-name coming from BOOTP or # DHPC will also be over-written. # dynamic_host = 0 ; optional # # Choose a random local port in range 1025 - 1500 for new connections. # Used to bypass problems with fire-walls (real hardware fire-walls or # software fire-walls). I.e. when a Watt-32 program ends prematurely, the # firewall still have the connection in it's table. When the client # restarts (before the 2*MSL), the firewall thinks it's the same # connection continuing. Hence the initial SYN gets dropped. # rand_lport = 1 ; optional # # Connection timeout used by the BSD-socket API and connect() function # (and for DNS-lookups). # Default value is 30 sec. # sockdelay = 30 ; optional # # Inactivity timeout for TCP-sockets. A timer is started at reception # of a TCP-segment and checked at each tcp_tick(). # Default value is 0 meaning no timeout. # inactive = 0 ; optional # # Data timeout for TCP-sockets. A timer is started when data is sent # and checked at each tcp_tick(). The socket is closed if timed out. # Default value is 0 meaning no timeout. # datatimeout = 0 ; optional # # Enable UDP/TCP-debug mode. Set to 1 (or higher for more details) to # print information regarding the TCP state-machine or UDP errors etc. # This applies to debug messages sent to screen only. For packet-traces # to file, see "debug.file" below. Default value is 0. # debug = 0 ; optional # # Maximum Segment Size. The maximum size of each TCP-segment you are # willing to receive is specified here. The upper limit of MSS is 40 # bytes less than the MRU (Maximum Receive Unit) of the link-layer. # 40 = size of IP+TCP headers. # E.g. 1460 for EtherNet or the MRU-40 for a PPP-driver. # # MSS is only used for TCP-sockets. The size of received # UDP-datagrams cannot be controlled, but is limited to 1472 (1500-28). # # Default value of MSS is 1460. # mss = 1460 ; optional # # Maximum Transmission Units. The maximum size of any packet sent # to the link-layer. Note: This value may be overridden by value # returned by PKTDRVR (if driver is an extended driver). # # Default (and upper-bound) value is 1500. # mtu = 1500 ; optional # # TCP Nagle algorithm. This is on by default. # Disabling it here, disables it for *all* socket. You better # use sock_mode() to control it per socket. # tcp.nagle = 1 ; optional # # Various RFC-1323 TCP options. # # Use "Time-Stamp" option on segments to better estimate round-trip # time (RTT). Receive speed is around 10-20% better with this option # on. But some old stacks don't like it, hence it's off by default. # tcp.opt.ts = 0 ; optional # # Selective Acknowledge option. # Not implemented yet. Hence no effect. # tcp.opt.sack = 0 ; optional # # Window Scaling option can extend the receive window beyond 64 kBytes. # Not implemented yet. Hence no effect. # tcp.opt.wscale = 0 ; optional # # Default receive window used for opening active connections. # This value currently only has effect on BSD sockets. Should be # a multiple of MSS for best performance. # # Note: If using NDIS3PKT this value is clamped to 5000 due to buffer # limitations in NDIS. # tcp.recv_win = 16384 ; optional # # Path MTU discovery on opening TCP connections (ref. RFC1323) # Not implemented yet, hence no effect. # tcp.mtu_discovery = 0 ; optional # # Enable "Path MTU Black-hole detection" (ref. RFC1323) # Not implemented yet, hence no effect. # tcp.blackhole_detect = 0 ; optional # # TCP Timers # tcp.timer.open_to = 1000 ; TCP open timer value tcp.timer.close_to = 1000 ; TCP close timer value tcp.timer.rto_add = 100 ; added value in RTO calculation tcp.timer.rto_base = 10 ; base RTO value tcp.timer.rto_scale = 64 ; scaling factor for delayed ACKs tcp.timer.retran_to = 10 ; time for doing retransmits tcp.timer.max_vjsa = 80000 ; Max VJ standard average; SRTT (80s) tcp.timer.max_vjsd = 20000 ; Max VJ standard deviation; RTTVAR (20s) # # How often to send reset for TCP connections request to a closed port. # If 0, always send a RST. Otherwise never often than specified here. # This is mainly to defeat port-scanners. # tcp.timer.reset_to = 100 # # Time from connection is idle (no data sent/received) to starting # sending TCP keep-alive probes. Only used by BSD-sockets and if socket- # option SO_KEEPALIVE is set on the socket. # tcp.timer.keepalive = 120 ; optional # # The interval between TCP keep-alive probes. I.e. time until the 2nd # probe is sent provided the connection is still idle and no ACK is # received on the 1st probe. # tcp.timer.keepintvl = 30 # # How long to send keep alive probes. If no replying ACK is received in # this period, the connection is considered dead (the host vanished). # tcp.timer.max_idle = 60 # # Sending an "ICMP Mask Request" message after startup may help isolate # problems caused by setting wrong netmask (see above). # The ICMP message is sent as link-layer broadcast and destination IP # 255.255.255.255. # There must be a host on the subnet that can answer this ICMP request. # A warning ("Conflicting net-mask from ICMP Addr Mask Reply") is printed # if the 2 netmasks differ. Refer RFC-950 for details. # icmp_mask_req = 0 ; optional # # IP-address (or name) of cookie server(s) used by the COOKIE program. # Most WinNT servers have cookie jars (allthough dull quotes). # No default. # # cookie = 0.0.0.0 ; optional # # "ETC" is an environment variable that should point to your Waterloo # bin-directory. # # File specifying the language translations for all strings internal # to Waterloo. Only German (de), Norwegian (no) and Swedish (se) # translations are included at the moment. The WATLANG.TXT file is # very incomplete at this moment, so the effective language is English (en). # language = en,$(ETC)\watlang.txt # # File specifying the list of to mappings. # This file is queried before any DNS-requests are performed. # Note: Windows users may use the `hosts' file of the system. # On Win95/98/ME use `hosts = $(WINDIR)\system\hosts' # On WinNT/2K/XP use `hosts = $(WINDIR)\system32\drivers\etc\hosts' # # Same note applies to the `services', `protocol' and `networks' files. # # There can be several hosts files; simply insert several "hosts = file" # lines below this line. # hosts = $(ETC)\hosts ; optional # # File specifying the list of to mappings. # This file is used by the functions (getservbyname() etc). # services = $(ETC)\services ; optional # # File specifying the list of to # mappings. This file is used by the functions (getprotobyname() # etc). # # Note: this file should NOT be named `protocols' to avoid problems under # Win95/98 and targets supporting long file-names (e.g. djgpp) # protocols = $(ETC)\protocol ; optional # # File specifying the list of to # mappings. This file is used by the functions (getnetbyname() etc). # networks = $(ETC)\networks ; optional # # File specifying the list of to mappings. # Similar function as "ETHIP" keyword below (static ARP cache) except that # ethers-file uses hostnames or IP addresses. If using hostnames there # should be a mapping defined in the "$(ETC)\hosts" file. # # Note: The "$(ETC)\ethers" file is only effective if library was compiled # with `USE_ETHERS' (ref. .\src\config.h). File is read and parsed # after all other configurable options have been read. # ethers = $(ETC)\ethers ; optional # # Measure execution speed for certain Watt-32 functions. Only effective # for 32-bit programs (djgpp, Watcom, DMC, High-C and Win32) running on # a Pentium CPU (the RDTSC instruction is used). # profile.enable = 0 ; optional # # The file to write profiling information to. # profile.file = .\wattcp.pro ; optional # # Memory debugging (NOT YET). # The method used is either Fortify (requires building with USE_FORTIFY) # or MSVC debug runtime (in MSVCRTD.DLL or LIBCMTD.LIB). # memdbg.enable = 0 ; optional memdbg.failrate = 0 ; optional memdbg.dumpfile = $(TEMP)\wattcp.mem ; optional memdbg.stack_dump = 1 ; optional, 1 = simple. 2 = detailed # # Watt-32 DHCP configuration # # DHCP server address (broadcast) # dhcp.server = 0.0.0.0 # # Enable DHCP trace messages # dhcp.trace = 0 # # broadcast flag for older DHCP daemons (or WinNT) # Should force the servers to reply by broadcast. # Note: Many DHCP server ignore this flag and always reply by # broadcast. # dhcp.bcast = 1 # # timeout while waiting for DHCP offer # dhcp.timeout = 10 # # Number of DHCP discover retries # dhcp.retries = 3 # # Do an ARP-Request on our assigned IP. I.e. send an ARP request # to check if the assigned IP-address is really vacant. Decline the # assignment if someone replies to our ARP-request. # # Not to be confused with a `gratuitous ARP'. Watt-32 always do that # after a DHCP assignment. And also if "ARP.GRATIOTOUS = 1" if not # using DHCP assigned address. # dhcp.arpcheck = 0 # # The file for storing transient configuration. # Use NUL to disable storing configuration. # dhcp.config = $(TEMP)\W32DHCP.TMP # # # dhcp.req_list = 3,6,8,9,12,15,19,20,23,26,35,36,37,38 # # # dhcp.userclass = value1,value2 ; see RFC-3004 # # # dhcp.vendclass = "Watt-32" ; RFC-2132, option 60 # # Configuration of sent/received IPv4 headers. # # Default "Time To Live" field in outgoing headers. # A value between 0 (keep traffic on local LAN) and 255 is accepted. # ip.def_ttl = 254 ; optional # # Default "Type Of Service" field in outgoing headers. # A 8-bit hex value: # 0x00 = Unspecified # 0x02 = Minimum cost # 0x04 = Reliability # 0x08 = High throughput # 0x10 = Low delay # # Note: Other bits are masked off before transmission. # If TOS on incoming packets is > 0, this TOS is used on all # outgoing packets also. # ip.def_tos = 0x00 ; optional # # default increment of IP identifiers for outgoing headers. # ip.id_incr = 1 ; optional # # Default fragment reassembly time (sec) for incoming headers. # ip.frag_reasm = 15 ; optional # # Sets "Don't fragment" bit in IP-header. Affects all outgoing headers. # ip.dont_frag = 0 ; optional # # IP loopback mode bits: # 0x01 - Enable the internal loopback device (at 127.x.x.x). # 0x10 - Send to Winsock loopback device (experimental, not working). # # These settings are only effective if Watt-32 compiled with USE_LOOPBACK. # ip.loopback = 0x01 ; optional # # IPv6 configuration # # The address of this machine. Default address (preferred link-local) is # extracted from the MAC-address; FE80::201:80FF:FE + last 3 bytes of # MAC-address. The address until a PKTDRVR is found, is the anycast # address (all zeros). # ip6.my_ip = :: ; optional # # File specifying the list of to mappings. # This file is queried before any DNS-host is queried. # # There can be several hosts files; simply insert several "ip6.hosts = file" # lines below this line. The above "$(ETC)\hosts" file is not used for # IPv6 addresses at this time. # ip6.hosts6 = $(ETC)\hosts6 # # NOT FINISHED. # # An IPv4 Gateway address to route all IPv4 mapped addresses through. # E.g. destinations with the "::FFFF" prefix. There can only be one # 6-to-4 gateway. No default. # ip6.6to4_gateway = 0.0.0.0 ; optional # # NOT FINISHED. # # Address or name of Terodo tunneling 6-to-4 server. # E.g. 203.254.33.13 # teredo.ipv6.microsoft.com # ip6.teredo = 0.0.0.0 ; optional # # Default "Time To Live" field in outgoing headers. # A value between 0 (keep traffic on local LAN) and 255 is accepted. # ip6.def_ttl = 254 ; optional # # Use the RDTSC instructions for high-resolution timer calculations. # If 0, use the 8254 timer chip (default). # # NOT YET. Use environment variable "USE_RDTSC=1" instead. # use_rdtsc = 0 ; optional # # Protocol debugging stuff (not related to "debug" above). # # Activated by calling dbug_init() before calling sock_init() # from application. Only effective if library was built with USE_DEBUG. # See "README.TOO" for details. # # Name of debug file ("con", "stdout" or "stderr" for console, "nul" for # NULL-device). Put on RAM-disk for best performance. # # djgpp 2.04+ compiled programs may use "/dev/zero" or "/dev/full" # for test purposes. # debug.file = wattcp.dbg ; optional # # Don't show packets not destined for us or not generated by us. # A combination of these values can be specified: # # ETH -> discard link-layer packets (for EtherNet/TokenRing only) (1) # ARP -> discard ARP packets (for EtherNet/TokenRing only) # RARP -> discard RARP packets (for EtherNet/TokenRing only) # IP -> discard IP packets (for EtherNet/TokenRing/PPP/SLIP) # BCAST -> discard link-layer broadcast or IP-broadcast # MCAST -> discard link-layer multicast # LOOP -> discard packets looped by NDIS3 (2) # ALL -> discard everything not to/from us. # NONE -> trace all packets received. # # Note (1): ETH is also used for Token-Ring meaning MAC header. # # Note (2): NDIS (and packet-drivers under Windows) will loop all generated # broadcast traffic in all receive-modes. In promiscuous mode # (PKT.RXMODE = 6) it will also loop all non-broadcast traffic # generated by the interface. Thus packets sent by us will show # up approximately 50-200 milli-sec later. # debug.filter = all ; optional # # Which protocols (headers and data) to debug. A combination of # these values can be specified: # ETH, LLC, ARP, RARP, IP, UDP, TCP, ICMP, IGMP, SCTP or ALL. # # Note: ETH is also used for Token-Ring meaning MAC header. # debug.proto = arp/rarp/ip/udp/tcp/icmp/igmp/sctp # # What part of a packet to dump; # HEADER -> dump only protocol headers. E.g. UDP-head without data part. # ALL -> both header and ascii/binary data-dump. # debug.mode = all # # Dump ARP-cache and statistics counters to "debug.file" at program exit. # I.e. PKTDRVR statistics and packets received/transmitted. # debug.stat = 1 ; optional # # Dump details of DNS request/response packets on UDP/TCP src/dest port 53. # debug.dns = 1 ; optional # # Write to file in line-buffered mode. I.e. flush file after 256 bytes # written. Handy to see last printout before a crash. Not recommended for # normal operation as it slows down file I/O. No effect if "debug.pcap" # mode is enabled. # debug.linebuf = 0 ; optional # # Write the "debug.file" in pcap binary format. Handy for later analysis # using tcpdump, tcptrace, WireShark, etc. # # Note: The above "debug.filter" , "debug.proto" or "debug.mode" is # *not* effective when using pcap; All traffic and all protocol # layers are written to file. # # Note: Naming the "debug.file" with a ".gz" extension will use gzip # compression while writing it. Only effective if Watt-32 was # build with `USE_GZIP_PCAP'. # debug.pcap = 0 ; optional # # Perform extra CRT-debug checks on init and exit. # Only effective if built for MSVC debug-mode ('-MDd' or '-MTd' under Windows). # debug.crtdbg_check = 0 ; optional ## ## Socket-layer debugging stuff. Only used by BSD-socket API. ## Activated by calling dbug_init() before calling sock_init() ## from application. ## # # where to print socket-debug; # , "con", "stdout", "stderr" or "nul". On Windows a debug- # window can be specified with "$ODS" (OutputDebugString). # # As with "debug.file", put on RAM-disk for best performance. # sk_debug.device = wattcp.sk ; in current directory # # C-style open mode for the "sk_debug.device". # "w+" write (and create if not exists) # "a" append to file # "t" "sk_debug.device" is a text-file. # "c" commit file to disk (not supported by all compilers). # sk_debug.openmode = "w+" ; default ######################################################################### ######### ######### ######### EVERYTHING BELOW THIS LINE IS FOR ADVANCED USE ONLY ######### ######### ######### ######################################################################### # # multihomes = 0 ; uses MY_IP - (MY_IP+n) # ethip = , ; static ARP-table # ethip = , ; # ethip = , ; # eaddr = ; sets my ether-address # bootp = 255.255.255.255 ; BOOTP host address # bootp_to = 30 ; BOOTP timeout # redirects = tcp,udp,icmp,igmp ; honour ICMP redirects (0 disables) # netdb_alive = 900 ; cache-timeout for resolve (def 15 min) # arp.retrans_to = 250 ; ARP retransmission interval (def 250 msec) # arp.timeout = 2 ; ARP resolver timeout (def 2 sec) # arp.alive = 300 ; ARP life for cached entries (def 5 min) # arp.num_cache = 64 ; max # of entries in ARP cache (not yet) # arp.dead_gw_detect = 0 ; Gateway "black-hole" detection (not yet) # arp.gratiotous = 0 ; Send a gratiotous ARP on startup # arp.trace = 0 ; Trace AARP code (for debugging) # include = ?$(ETC)\sarp.cfg ; Secure ARP configuration (experimental) # include = ?$(ETC)\ppp.cfg ; PPP configuration # include = ?$(ETC)\pppoe.cfg ; PPPoE configuration # include = ?$(ETC)\slip.cfg ; SLIP configuration # include = ?$(ETC)\rpc.cfg ; RPC configuration # include = ?$(ETC)\smb.cfg ; SMB/RFC-NetBios configuration # include = ?$(ETC)\dynip.cfg ; dyndns.org client # # Service-order for DNS name lookups. Use `hosts' first. If name not # in `hosts' file send a DNS request to nameserver(s). # NOT YET IMPLEMENTED; order is always "hosts,bind". # For IPv6, order is always "hosts6, bind6, hosts, bind". # # host.conf = order hosts, bind # # Configuration of bind resolver. These settings are active only if # library was compiled with USE_BIND (ref. .\src\config.h) and using # any of the resolver functions in . # # HOSTALIASES points to a file which lists host aliases, e.g: # alfie.somewhere.net www.somewhere.net # blondie.foo.net mail.mci.net # # Default value is taken from environment variable "HOSTALIASES". # bind.hostaliases = $(HOSTALIASES) ; optional # # Options used for initialising the resolver. The value(s) are: # ndots:n -> n specifies # of dots '.' in a domain (default 1). # debug -> enable resolver debug mode. # # E.g. "bind.res_options = ndots:4 debug". # See also the manpage for "bind". # # Default value is taken from environment variable "RES_OPTIONS". # bind.res_options = $(RES_OPTIONS) ; optional # # Allow the following hosts to connect to our TCP listening sockets. # Use comma-separated list for single hosts or regexp for multiple hosts. # Ranges can be specified using "network/mask" notation. E.g. # "tcpd.hosts.allow = 133.212/16" will allow the hosts in range # 133.212.0.0 - 133.212.255.255. # NOT YET IMPLEMENTED; all hosts are allowed. # # tcpd.hosts.allow = * # # Deny the following hosts to connect to our TCP listening sockets. # Use comma-separated list for single hosts or regexp for multiple hosts. # Ranges can be specified using "network/mask" notation. See above. # NOT YET IMPLEMENTED; only the broadcast and null-addresses are denied. # # tcpd.hosts.deny = 255.255.255.255, 0.0.0.0 # # Simple syslog client configuration. Sends log messages to file and/or # a logging host. Protocol used is UDP (unicast or broadcast). # Only effective if application calls openlog() first. # # Messages are appended to file. Default filename is extracted from # path and name of running application. # syslog.file = ; optional # # Which host to send logging messages to. If not specified here, it may # be received via BOOTP or DHCP (if specified by "my_ip = bootp/dhcp", or # "wattcp.cfg file is not found). The host MUST be a name listed in # "$(ETC)\hosts" or a dotted IP-address. You can also specify a broadcast # IP-address and hope the messages are picked up by a logging daemon. # syslog.host = ; optional # # Which UDP destination port to send to. Default is 514. # The port is first searched in "$(ETC)\services". The line should be # "syslog 514/udp". If not found there, the following port is used. # i.e. the following line is overruled by "syslog port/udp" in # "$(ETC)\services". # syslog.port = 514 ; optional # # Syslog messages to be written to file and/or sent to logging host: # # A combination of the following may be specified ( flags): # emerg => system is unusable (LOG_EMERG) # alert => action must be taken immediately (LOG_ALERT) # crit => critical conditions (LOG_CRIT) # error => error conditions (LOG_ERR) # warning => warning conditions (LOG_WARNING) # notice => normal but significant condition (LOG_NOTICE) # info => informational (LOG_INFO) # debug => debug-level messages (LOG_DEBUG) # all => all combinations of above. # # Default level is "emerg/alert/error" # syslog.level = emerg/alert/error ; optional # # TFTP client configuration. # # To actually enable loading of `tftp.boot_file' via TFTP protocol, # the application must supply a "writer" hook through function pointer # `tftp_writer'. See or .\src\tftp.c. # # The TFTP client uses UDP on port 69 (unless specified differently in # $(ETC)\services). # # Note: When using DHCP (TFTP options and BOOTP not supported), the # "tftp.boot_file" and "tftp.server" specified below *may* be # overridden by the DHCP-server. This is because a properly # configured DHCP-server should know what's best for you... # # Specify what file to load. This file may be present in an option # coming from DHCP-server, but can be specified here. # # Note: remote file-name is server's file-name (relative to it's virtual # root) and may contain a path. It's the responsibility of the # application to map server's boot filename into your local file # system or create any missing directories. # # The format of "tftp.boot_file" is "remote name" optionally followed by a # local name. E.g. "tftp.boot_file = /tftpd/bootp.file $(TEMP)\bootp.fil" # # Note: The remote/local filenames cannot contain any spaces or tabs. # tftp.boot_file = ; optional # # Specify what server (dotted ip-address or host from `hosts' file) to # get TFTP.BOOT_FILE from. If not specified here, TFTP-server name MUST # be given by DHCP server. # tftp.server = ; optional # # Specify timeout (in seconds) waiting for each packet from TFTP-server. # tftp.timeout = 8 ; optional # # Specify retry count waiting for packets from TFTP-server. # tftp.retry = 5 ; optional # # C-style open mode for the local file "tftp.boot_file". # Specify "wt" to transfer a text file from a Unix-based TFTP server. # tftp.openmode = "wb" ; default # # Specify transfer mode for retrieval. Either use "octet" (default) for # 8-bit raw data, "netascii" or "mail". Ref. RFC-1350. # # Note: Some tftp servers (e.g. PumpKIN) ignores this mode. # tftp.mode = "octet" ; optional # # Specify local port to use. Default behaviour (0) is to select a random # local port in range 1024 - 65535. If e.g. a firewall makes this # difficult, use a fixed port above 1024. # tftp.port = 0 ; optional # # ECHO/DISCARD daemons # echo.daemon = 0 ; active echo service echo.host = 255.255.255.255 ; accept from anybody echo.port = 7 ; listen on port 7 discard.daemon = 0 ; active discard service discard.host = 255.255.255.255 ; accept from anybody discard.port = 9 ; listen on port 9 ####################################################################### ######## ######## ######## CONFIGURATION FOR VARIOUS WatTCP/Watt-32 PROGRAMS ######## ######## ######## ####################################################################### # # For details regarding these settings refer the documentation # of respective programs. # # HTget by Ken Yap (ken@syd.dit.csiro.au) # http.proxy = : ; no default # # Michael Ringe's TALK client/server # talk.localuser = talk.screenmode = autocr,split talk.colors = 1E,1A,71,71,71 talk.alias = joe:joe@some.domain.com talk.logfile = $(WATTCP.CFG)\talk\talk.log talk.message = "%s is busy. Try again later.\n" # # SNUZ nntp client by # Doug McDonald (mcdonald@aries.scs.uiuc.edu) # snuz.tmpdir = $(TEMP) snuz.rc = $(ETC)\news\snuz.rc ; list of subscribed groups, etc snuz.active = $(ETC)\news\active ; list of all groups snuz.host = news.server.com ; news server ipaddr snuz.from = joe@some.domain.com ; the user's email-address snuz.editor = edit.exe ; editor for writing posts snuz.smtp = "popmail send %H %D %f" ; external sendmail program # # SMB Printer daemon 0.94 by # Ken Yap (ken@syd.dit.csiro.au) # smbpd.workgroup = "my-work-group" smbpd.printer1name = "my-printer-at-lpt1" smbpd.printer2name = "my-printer-at-lpt2" smbpd.printer3name = "my-printer-at-lpt3" # # Erick Engelke's SMTP-server # smtp.subdir = $(ETC)\smtpd\mail\ ; sub-dir for mail/temp files, must exist smtp.sessions = 8 ; # of SMTP sessions # # UCD-SNMP library # snmp.mibfile = $(snmp)\mib.txt snmp.mib2file = $(snmp)\mib-v2.txt