-
Notifications
You must be signed in to change notification settings - Fork 34
/
WATTCP.CFG
1185 lines (1057 loc) · 39.7 KB
/
WATTCP.CFG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#
# 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. <ether-address>) 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 = dhcp ; 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 <domain.timeout> *
# <number of nameservers>. 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 <host-names> to <IPv4-address> 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 <service-name> to <protocol> mappings.
# This file is used by the <netdb.h> functions (getservbyname() etc).
#
#services = $(ETC)\services ; optional
#
# File specifying the list of <IP-protocol-name> to <IP-protocol-numbers>
# mappings. This file is used by the <netdb.h> 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 <network-numers> to <domain-names>
# mappings. This file is used by the <netdb.h> functions (getnetbyname() etc).
#
#networks = $(ETC)\networks ; optional
#
# File specifying the list of <ether-address> to <host-names> 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 <ip-address> 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 <host-names> to <IPv6-address> 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;
# <file>, "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 = <ether-addr1>, <ip4-addr1> ; static ARP-table
# ethip = <ether-addr2>, <ip4-addr2> ;
# ethip = <ether-addr3>, <ip4-addr3> ;
# eaddr = <ether-addr> ; 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 <resolv.h>.
#
# 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.
#