summaryrefslogtreecommitdiffstats
path: root/contrib/webmin/dnsmasq.wbm
blob: 7307e23a3382736ee3c743b7139b9f7c92d71ae3 (plain)
ofshex dumpascii
0000 64 6e 73 6d 61 73 71 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/........................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 31 30 35 31 32 36 34 35 34 34 30 00 30 31 31 32 32 33 00 20 35 00 00 00 0000000.10512645440.011223..5...
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 64 6e 73 6d 61 73 71 2f 63 6f 6e 66 69 67 2e 69 6e 66 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/config.info.............
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 30 31 33 32 00 31 30 35 30 35 36 36 33 37 34 33 00 30 31 33 33 35 31 00 20 30 00 00 00 0000132.10505663743.013351..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 63 6f 6e 66 69 67 5f 66 69 6c 65 3d 46 75 6c 6c 20 70 61 74 68 20 74 6f 20 44 4e 53 6d 61 73 71 config_file=Full.path.to.DNSmasq
0420 20 63 6f 6e 66 69 67 20 66 69 6c 65 2c 30 0a 72 65 73 74 61 72 74 3d 53 68 65 6c 6c 20 73 63 72 .config.file,0.restart=Shell.scr
0440 69 70 74 20 74 6f 20 72 65 2d 73 74 61 72 74 20 44 4e 53 6d 61 73 71 2c 30 0a 00 00 00 00 00 00 ipt.to.re-start.DNSmasq,0.......
0460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 64 6e 73 6d 61 73 71 2f 63 6f 6e 66 69 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/config..................
0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0680 30 30 30 30 30 36 31 00 31 30 35 30 35 36 36 33 37 36 37 00 30 31 32 34 32 36 00 20 30 00 00 00 0000061.10505663767.012426..0...
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 63 6f 6e 66 69 67 5f 66 69 6c 65 3d 2f 65 74 63 2f 64 6e 73 6d 61 73 71 2e 63 6f 6e 66 0a 72 65 config_file=/etc/dnsmasq.conf.re
0820 73 74 61 72 74 3d 72 65 73 74 61 72 74 2e 73 68 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 start=restart.sh................
0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a00 64 6e 73 6d 61 73 71 2f 69 6d 61 67 65 73 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/images/.................
0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0a80 30 30 30 30 30 30 30 00 31 30 35 30 36 33 37 35 32 30 31 00 30 31 32 34 36 36 00 20 35 00 00 00 0000000.10506375201.012466..5...
0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 64 6e 73 6d 61 73 71 2f 69 6d 61 67 65 73 2f 69 63 6f 6e 2e 67 69 66 00 00 00 00 00 00 00 00 00 dnsmasq/images/icon.gif.........
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0c80 30 30 30 30 36 31 36 00 31 30 35 30 35 36 33 32 36 33 35 00 30 31 34 31 31 36 00 20 30 00 00 00 0000616.10505632635.014116..0...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 47 49 46 38 39 61 30 00 30 00 e3 00 00 00 00 00 00 ff 00 00 ff ff 63 63 63 9c 9c 9c ce ce ce ce GIF89a0.0.............ccc.......
0e20 ce ff ff ff 00 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 2c 00 00 .............................,..
0e40 00 00 30 00 30 00 00 04 fe 10 c9 49 ab bd 38 6b c2 3b d1 60 78 71 42 59 7e 62 0a 76 e5 71 08 a8 ..0.0......I..8k.;.`xqBY~b.v.q..
0e60 2a 57 5e fb c6 f3 ec 11 e6 39 ed 9c 5c 86 d7 eb a1 48 82 43 47 88 21 0e 06 c5 8f d4 44 00 e0 98 *W^......9..\....H.CG.!.....D...
0e80 3f c1 f3 d9 2b 1c b5 b0 20 96 a6 2d 70 a9 9e c0 20 50 bd 8e 09 6a f3 3a 40 6f d3 ef cb 31 05 7e ?...+......-p....P...j.:@o...1.~
0ea0 ef b3 39 7e 6d 7a 7b 7e 7d 6d 00 88 88 79 83 08 7c 85 7f 44 2d 82 8c 8d 40 1e 56 51 62 94 1d 05 ..9~mz{~}m...y..|..D-...@.VQb...
0ec0 9d 9e 2c 50 27 56 94 95 1c 4f 72 5e 56 6a 78 9a 7a 3b 9e 9f 80 86 a3 8c a8 5b 03 66 5e 96 8b 7a ..,P'V...Or^Vjx.z;.......[.f^..z
0ee0 b0 be 9d a4 1a b9 b7 a8 c1 19 bf be 12 88 c6 14 b6 c3 b8 ca cb cc 08 c8 b0 13 89 14 00 12 d5 dc ................................
0f00 9e cd c4 a7 d0 d7 d2 08 da d4 dd dc cd dd 15 d8 e5 db 05 89 f1 f2 f1 c0 13 e8 16 d8 e6 9d f3 fc ................................
0f20 89 f5 4c f1 de f5 eb f7 0f a0 b4 7d 03 e7 15 94 31 4f 60 42 79 0b 7b c1 7b 48 af 40 30 84 14 11 ..L........}....1O`By.{.{H.@0...
0f40 45 1c 83 31 e3 46 2c 44 1d 29 7e 64 12 f2 e1 48 21 25 13 9e cc 91 72 e0 ca 19 e8 d2 91 8a 59 6d E..1.F,D.)~d...H!%....r.......Ym
0f60 9a bd 5f 36 31 18 d8 c9 93 67 ce 77 34 bd 19 2b b0 33 26 80 97 2c 3b f5 5c 5a 54 e8 45 a5 4c 7b .._61....g.w4..+.3&..,;.\ZT.E.L{
0f80 5a 1b 0a 35 6a 53 a4 3f b3 ce 88 00 00 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Z..5jS.?.....;..................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 64 6e 73 6d 61 73 71 2f 69 6d 61 67 65 73 2f 74 65 6d 70 6c 61 74 65 2e 67 69 66 00 00 00 00 00 dnsmasq/images/template.gif.....
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1080 30 30 30 33 35 36 30 00 30 36 37 37 31 34 34 33 30 33 34 00 30 31 35 30 30 35 00 20 30 00 00 00 0003560.06771443034.015005..0...
10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1200 47 49 46 38 39 61 90 01 30 00 e3 00 00 ff ff ff c7 c7 c7 55 55 55 8e 8e 8e aa aa aa 00 00 00 39 GIF89a..0..........UUU.........9
1220 39 39 72 72 72 1d 1d 1d e3 e3 e3 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff 21 fe 0e 99rrr........................!..
1240 4d 61 64 65 20 77 69 74 68 20 47 49 4d 50 00 2c 00 00 00 00 90 01 30 00 00 04 fe 10 c8 09 82 b8 Made.with.GIMP.,......0.........
1260 38 8b 41 bb b4 5a e6 8d 64 69 9e d3 a0 05 68 6b aa 1a e7 ce 73 68 df b6 4c ef 7c ef 9f b0 8c ee 8.A..Z..di....hk....sh..L.|.....
1280 47 2c 8e 08 85 a4 72 59 10 9c 90 cc a5 71 da 11 30 09 d4 92 95 e9 cc ee a2 e0 30 b8 eb 2d 9b 5d G,....rY.....q..0.........0..-.]
12a0 db 25 f9 cc 36 41 c5 6b 8f 58 d9 fe a5 93 d8 fa 3d 19 af cb e7 80 51 7d 7e 84 54 7b 4d 85 89 00 .%..6A.k.X......=.....Q}~.T{M...
12c0 6f 61 83 13 81 8a 2d 16 08 57 7e 87 8e 7e 16 81 9b 78 2c 91 9f 76 82 a0 75 8c 63 26 90 a3 24 a5 oa....-..W~..~...x,..v..u.c&..$.
12e0 78 96 a2 a0 ab 9c 61 a9 b3 34 97 b4 65 9b 98 00 a8 b7 13 a5 ba 53 b0 79 af b1 9b bd c7 1e c2 75 x.....a..4..e........S.y.......u
1300 60 c3 67 b9 24 9a 62 06 cd bd bf 7e ca a3 09 04 db dc dd 60 d3 dd e1 c8 e3 12 d8 6c cc cb 81 8e `.g.$.b....~.......`.......l....
1320 b0 6a e4 8b 5c d7 e8 ee bb ae f3 f6 e5 f2 e7 51 d4 b8 ea aa 80 c0 3e d9 22 95 8f 9c a9 7b f7 cc .j..\..........Q......>."....{..
1340 39 db 97 0e e0 08 01 06 1c 8e 1b d8 46 e1 b8 83 08 e7 59 ec 57 a9 cd b3 3f fe 12 91 51 64 b3 f1 9...........F.....Y.W...?...Qd..
1360 18 c6 8c e4 4a 66 29 68 e6 63 87 76 27 8f cc e1 77 e2 10 2b 00 23 df 31 7c 58 0f 67 4f 2d 61 68 ....Jf)h.c.v'...w..+.#.1|X.gO-ah
1380 ae fc e9 42 0c 8a 28 14 60 81 44 5a c2 da 84 9c 55 88 2e 95 45 62 93 50 09 46 4b 44 5b 42 e0 00 ...B..(.`.DZ....U...Eb.P.FKD[B..
13a0 3c 0a 5b 11 c5 9c 00 22 a2 b4 0b 9e 4a c0 a0 f4 8d c3 9e 03 69 f1 ed f4 30 12 2a 85 b5 61 0c a0 <.[...."....J.......i...0.*..a..
13c0 2d 13 56 49 40 0a 18 e0 5c 28 81 b4 ec 18 b7 17 e0 0c 49 0a 0f 2f 13 04 02 e2 02 96 2a 21 30 40 -.VI@...\(........I../......*!0@
13e0 c9 2a ac 3e 4c dc 68 70 32 30 3a fd 76 b0 36 56 2e a7 ab 95 fd ed e1 a7 b2 2e e5 d4 9a bd b0 fb .*.>L.hp20:.v.6V................
1400 fb 88 13 61 26 a1 1b d1 0b 39 1a 9e 4d ae 24 ec 62 8d 45 ed f7 5c 0a b1 64 22 75 ea 4b 8a d2 e0 ...a&....9..M.$.b.E..\..d"u.K...
1420 c5 f8 fc 8b 0e bc 77 3b a0 5f 61 5f 8f 4a 5d 36 e8 a2 d4 e3 b0 a3 0e 87 27 79 44 74 a5 1a 9f 33 ......w;._a_.J]6........'yDt...3
1440 99 57 ed e8 e2 41 33 c7 69 36 49 6e 3a 1e 26 51 87 2c f9 7e 74 6a 03 d4 fe 27 dd 08 fa 2d 01 57 .W...A3.i6In:.&Q.,.~tj...'...-.W
1460 7b db 21 c8 c4 01 db 08 88 1f 15 cf b5 20 06 37 31 8d 77 5e 14 90 a5 77 de 20 50 09 c0 d6 15 dc {.!............71.w^...w..P.....
1480 38 68 1f 59 0d 32 b3 cd 54 5c 6d 53 a1 7c d9 ed 46 47 84 8c 5d c8 da 85 05 14 47 99 45 76 fd 96 8h.Y.2..T\mS.|..FG..].....G.Ev..
14a0 87 4d de 31 25 21 55 2e 8a 16 23 8d c6 70 47 1e 87 44 65 a5 9d 14 1a e2 56 15 90 2b 2e d7 a2 94 .M.1%!U...#..pG..De.....V..+....
14c0 3e 3e 15 94 91 1d 59 99 8f 85 36 b6 38 64 75 5a 26 38 5c 96 c8 1d 47 04 8c 4d 7d 67 9d 93 a6 4d >>....Y...6.8duZ&8\...G..M}g...M
14e0 59 de 7b 55 2e d9 a2 8e 58 0e 58 26 93 23 c4 29 e7 88 6b e2 f9 e5 83 fe 15 70 df 1a 4b 4c 13 28 Y.{U....X.X&.#.)..k......p..KL.(
1500 58 1e 46 31 4d 02 1d 04 e0 d5 5c 05 16 4a 00 a3 12 68 23 e2 4d 61 26 71 a0 72 59 46 2a a4 04 99 X.F1M.....\..J...h#.Ma&q.rYF*...
1520 5d 41 e9 68 0e a2 46 03 9a 0f 39 68 a8 07 da 54 29 4c 5c 5d 31 03 eb a3 6c 66 6a 60 5c 8e e6 e3 ]A.h..F...9h...T)L\]1...lfj`\...
1540 a9 9d 70 f2 89 a2 79 b5 56 a6 2a 4d ad d6 aa d4 7c d7 c1 38 db 74 59 fe 2e db 24 99 3e 81 f9 d9 ..p...y.V.*M....|..8.tY...$.>...
1560 5c ce ee 29 28 76 4a 98 3a 03 aa 28 a2 f7 a4 9f dc 86 ab a6 ad d9 4e db ac 6e 2f 05 7b 27 a0 e4 \..)(vJ.:..(..........N..n/.{'..
1580 5e bb ee a7 79 b2 79 90 53 a4 01 19 e8 55 e6 b4 a6 1e b4 7f c6 67 e6 6a 35 f1 db 83 92 b7 f9 f9 ^...y.y.S....U.......g.j5.......
15a0 2d a0 f3 f5 cb 2c af e4 ae b3 25 4b 35 8c 3b a6 b4 bd ba 5b f0 83 f3 7e c5 08 01 2c 7c d3 8c 4a -....,....%K5.;....[...~...,|..J
15c0 f7 82 3a ec a8 75 7a fb 41 a2 14 a7 e0 a0 bf 64 a2 ac 84 5e 38 b8 8c 29 11 1e 9b d0 57 13 31 1f ..:..uz.A......d...^8..)....W.1.
15e0 f2 d4 ca a9 7a 29 ac 97 bb 6e 6a 2e 98 20 83 7a c3 87 06 07 39 73 05 97 e4 ec 63 c6 c9 e2 19 a5 ....z)...nj....z....9s....c.....
1600 c0 6d 96 1b ad 98 25 b3 9c f2 9e 5a 5b 3d b1 8c 53 94 f6 e7 79 15 9b 5c f6 20 53 6f 5d 35 a6 45 .m....%....Z[=..S...y..\..So]5.E
1620 5f 5d e4 bb 4b 5b 98 dc d7 03 d6 2b 75 4f c2 35 b7 53 de 6e 33 ac af 97 0a 11 b9 b4 0f 62 eb 4d _]..K[.....+uO.5.S.n3........b.M
1640 e4 d9 f1 fa ac b4 d9 20 e7 0b f1 e2 81 d0 c4 92 dc b6 d1 8d 9e dd fe 18 e3 fd da da 35 72 6d 42 ............................5rmB
1660 4e 7f 8b 19 b8 e0 da fe a8 f8 d8 e4 21 de 2d da 3f 35 fe b0 99 a1 fe 97 38 c5 94 bf 0d b5 68 4f N...........!.-.?5......8.....hO
1680 6b 7e ba e1 d5 f1 0d fa e3 7d 33 5e 90 e0 9d 1b 51 38 e7 dd 59 ce ba e2 69 7b 3d b4 d7 38 9e 27 k~.......}3^....Q8..Y...i{=..8.'
16a0 b9 99 b5 f3 72 3b ba ca 2b c8 70 d6 da 9b cd bb e8 bb 07 df f5 cc 7a 2a 72 fc a0 34 ab 5b f1 c5 ....r;..+.p...........z*r..4.[..
16c0 f0 86 bc 30 f4 c3 db 6b f9 f4 d0 26 3c c3 cd 1c 23 2f 24 fe 71 f9 ae 3b d6 9c 13 1a 00 02 74 ba ...0...k...&<...#/$.q..;......t.
16e0 a0 c5 85 80 92 22 99 20 fa 93 89 43 e4 cf 0d 8f a1 4d a3 74 76 30 5f a5 8b 2b 07 bc 94 50 10 f8 .....".....C.....M.tv0_..+...P..
1700 b2 49 89 8c 09 8b 82 1b 37 ba 05 20 07 92 ec 3e 19 e2 81 b2 24 82 2a ff cd e9 46 2c 11 4e f4 7c .I......7......>....$.*...F,.N.|
1720 06 bc 8a 48 ec 7d 16 74 01 b7 e8 c6 3e 8b 59 ab 78 cf e2 15 54 ca 37 bf 92 f9 90 73 3d 58 21 c1 ...H.}.t....>.Y.x...T.7....s=X!.
1740 5a 08 c3 93 e4 e8 4a dd 73 d8 bf 92 64 a6 0b b2 cb 07 3b ec d3 fe 15 15 76 a8 e7 e5 b0 8b dd 1b Z.....J.s...d.....;.....v.......
1760 9c e7 1a 16 46 60 25 2d 78 47 04 23 a7 ea 36 2e 0b a1 2e 88 05 e0 4f 07 38 78 ab ee c9 f1 64 48 ....F`%-xG.#..6.......O.8x....dH
1780 a3 d8 21 ee a8 b2 18 12 85 00 aa 1a 44 ec b6 a8 c2 1b 8e a0 58 6a 58 cc cf a2 56 3e 71 e9 e9 37 ..!.........D.......XjX...V>q..7
17a0 06 18 82 63 94 20 40 d7 3c 32 8f 5f e4 11 ab 56 b1 81 9e 31 d2 58 ec f9 5e 0e e9 14 46 20 fe 70 ...c..@.<2._...V...1.X..^...F..p
17c0 18 5c 32 a2 29 d1 b8 ca 27 96 4f 93 45 c8 e2 ea 66 27 24 47 aa 8f 89 d8 63 65 97 12 04 cb b2 65 .\2.)...'.O.E...f'$G....ce.....e
17e0 d2 90 d9 9b a5 1a ab 85 44 2f 72 02 49 34 da a5 f4 b8 07 c7 d3 40 08 98 b4 2c c6 1b 8d b9 c6 2b ........D/r.I4.......@...,.....+
1800 ae 27 36 64 6c d7 dc 54 99 c3 0b ed ac 8d b9 54 a3 28 37 21 40 b2 d0 2a 3a 21 2c e5 26 d2 c9 b4 .'6dl..T.......T.(7!@..*:!,.&...
1820 3c 96 f3 03 d5 e3 ca 09 7d 00 11 68 26 e3 9c eb fc 18 08 69 52 8a 55 69 d1 9f da cc e7 a8 0c a8 <.......}..h&......iR.Ui........
1840 ce b7 15 f4 9e e8 1c c6 12 c3 69 cb 62 e0 6b 43 66 84 8f 16 fe c5 e8 cb 50 86 4d 7e 4f 90 28 17 ..........i.b.kCf.......P.M~O.(.
1860 9f 27 c5 f6 fd d0 25 9c 53 66 f2 b8 99 c6 78 f2 aa 79 f0 3a de 35 01 d8 cc 14 9d ae 76 2a 02 5f .'....%.Sf....x..y.:.5......v*._
1880 15 49 aa 36 c2 6d ae 87 04 0b a6 15 3d ba b8 f1 d5 48 6e 1d dd 1a 24 7a 19 d0 34 5a 0e a3 28 ad .I.6.m......=....Hn...$z..4Z..(.
18a0 51 5c 8e 17 80 12 e5 65 1b 0c cc 0f 3e 35 b5 0d 44 6e af 52 db 98 6a 01 18 34 a9 84 b5 ad a9 80 Q\.....e....>5..Dn.R..j..4......
18c0 0c 03 57 e7 99 be f0 35 25 a6 26 e2 47 69 d6 da 3a 66 58 4a ac 51 2d 49 58 f7 71 22 a2 c2 13 0c ..W....5%.&.Gi..:fXJ.Q-IX.q"....
18e0 0c 3a eb 78 46 b8 53 bf dd f0 7c 1f 95 60 48 bf 07 0c c7 c9 94 6a 2d 2d 1d 0f 00 7b 0a 8c aa ae .:.xF.S...|..`H......j--...{....
1900 af de eb e9 44 8b 47 ca 6a 52 b4 97 76 2d 5b e9 72 8a 92 ce 7a f6 b3 b7 68 1b 68 47 4b da d2 9a ....D.G.jR..v-[.r...z...h.hGK...
1920 d6 1e a5 e0 e3 69 57 cb da d6 ba 36 11 f6 7b ad 6c 67 4b db da a2 20 b6 b6 cd ad 6e 77 6b da 5c .....iW....6..{.lgK........nwk.\
1940 b1 94 b7 c0 0d ae 70 45 72 d3 e1 1a f7 b8 c8 3d 03 df 92 1a cb dc e6 3a b7 16 c5 7d ae 74 a7 2b ......pEr......=.......:...}.t.+
1960 dd e5 52 f7 ba d8 35 2e c0 b2 4b 82 08 00 00 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..R...5...K....;................
1980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a00 64 6e 73 6d 61 73 71 2f 69 6d 61 67 65 73 2f 75 70 2e 67 69 66 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/images/up.gif...........
1a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1a80 30 30 30 30 31 34 37 00 31 30 35 30 36 33 37 33 37 35 30 00 30 31 33 36 31 32 00 20 30 00 00 00 0000147.10506373750.013612..0...
1aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c00 47 49 46 38 39 61 10 00 10 00 a1 00 00 c4 c4 c4 72 72 72 00 00 00 ff ff ff 21 fe 0e 4d 61 64 65 GIF89a..........rrr......!..Made
1c20 20 77 69 74 68 20 47 49 4d 50 00 21 f9 04 01 0a 00 03 00 2c 00 00 00 00 10 00 10 00 00 02 26 9c .with.GIMP.!.......,..........&.
1c40 8f a9 06 b0 0a 82 7c 27 ca f9 ec c5 49 6f ce 7c 62 25 94 c2 65 96 c1 82 52 47 eb 0e b0 3b 53 f5 ......|'....Io.|b%..e...RG...;S.
1c60 73 b3 66 1c 17 00 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 s.f...;.........................
1c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e00 64 6e 73 6d 61 73 71 2f 69 6d 61 67 65 73 2f 64 6f 77 6e 2e 67 69 66 00 00 00 00 00 00 00 00 00 dnsmasq/images/down.gif.........
1e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
1e80 30 30 30 30 31 35 34 00 31 30 35 30 36 33 37 33 37 35 30 00 30 31 34 31 33 33 00 20 30 00 00 00 0000154.10506373750.014133..0...
1ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2000 47 49 46 38 39 61 10 00 10 00 a1 00 00 c4 c4 c4 72 72 72 00 00 00 ff ff ff 21 fe 0e 4d 61 64 65 GIF89a..........rrr......!..Made
2020 20 77 69 74 68 20 47 49 4d 50 00 21 f9 04 01 0a 00 03 00 2c 00 00 00 00 10 00 10 00 00 02 2b 9c .with.GIMP.!.......,..........+.
2040 8f a9 03 1d 9b 40 08 02 22 49 ed c1 55 b3 d9 69 9c f7 65 4a 83 62 41 fa 18 d3 0b 83 49 0c 87 08 .....@.."I..U..i..eJ.bA.....I...
2060 6d 2e b1 ad cb 64 4e 82 14 00 00 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 m....dN....;....................
2080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2200 64 6e 73 6d 61 73 71 2f 69 6d 61 67 65 73 2f 67 61 70 2e 67 69 66 00 00 00 00 00 00 00 00 00 00 dnsmasq/images/gap.gif..........
2220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2280 30 30 30 30 31 31 31 00 31 30 35 30 36 33 37 35 32 30 31 00 30 31 33 37 31 35 00 20 30 00 00 00 0000111.10506375201.013715..0...
22a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2400 47 49 46 38 39 61 10 00 10 00 80 00 00 ff ff ff ff ff ff 21 fe 0e 4d 61 64 65 20 77 69 74 68 20 GIF89a.............!..Made.with.
2420 47 49 4d 50 00 21 f9 04 01 0a 00 00 00 2c 00 00 00 00 10 00 10 00 00 02 0e 84 8f a9 cb ed 0f a3 GIMP.!.......,..................
2440 9c b4 da 8b b3 3e 05 00 3b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .....>..;.......................
2460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2600 64 6e 73 6d 61 73 71 2f 6d 6f 64 75 6c 65 2e 69 6e 66 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/module.info.............
2620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2660 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
2680 30 30 30 30 31 34 32 00 31 30 35 30 31 34 33 33 34 32 35 00 30 31 33 33 35 36 00 20 30 00 00 00 0000142.10501433425.013356..0...
26a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2800 6e 61 6d 65 3d 44 4e 53 4d 61 73 71 0a 64 65 73 63 3d 44 4e 53 4d 61 73 71 20 69 6e 74 65 67 72 name=DNSMasq.desc=DNSMasq.integr
2820 61 74 65 64 20 44 4e 53 20 26 20 44 48 43 50 20 73 65 72 76 65 72 73 0a 6f 73 5f 73 75 70 70 6f ated.DNS.&.DHCP.servers.os_suppo
2840 72 74 3d 0a 64 65 70 65 6e 64 73 3d 30 2e 37 37 0a 63 61 74 65 67 6f 72 79 3d 73 65 72 76 65 72 rt=.depends=0.77.category=server
2860 73 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 s...............................
2880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a00 64 6e 73 6d 61 73 71 2f 69 6e 64 65 78 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/index.cgi...............
2a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
2a80 30 30 30 37 35 33 31 00 31 30 35 31 32 36 34 31 30 36 37 00 30 31 33 30 33 30 00 20 30 00 00 00 0007531.10512641067.013030..0...
2aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
2b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
2b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
2c20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 69 6e 64 65 78 2e 63 67 69 3b 20 62 61 73 69 63 20 ebmin.Module.-.index.cgi;.basic.
2c40 44 4e 53 20 63 6f 6e 66 69 67 20 20 20 20 20 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 DNS.config......#....Copyright.(
2c60 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 C).2006.by.Neil.Fisher.#.....#..
2c80 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b ..This.program.is.free.software;
2ca0 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 .you.can.redistribute.it.and/or.
2cc0 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f modify.#....it.under.the.terms.o
2ce0 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 f.the.GNU.General.Public.License
2d00 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 .as.published.by.#....the.Free.S
2d20 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 oftware.Foundation;.either.versi
2d40 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 on.2.of.the.License,.or.#....(at
2d60 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e .your.option).any.later.version.
2d80 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 .#.#....This.program.is.distribu
2da0 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 ted.in.the.hope.that.it.will.be.
2dc0 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 useful,.#....but.WITHOUT.ANY.WAR
2de0 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 RANTY;.without.even.the.implied.
2e00 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 warranty.of.#....MERCHANTABILITY
2e20 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 .or.FITNESS.FOR.A.PARTICULAR.PUR
2e40 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 POSE...See.the.#....GNU.General.
2e60 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e Public.License.for.more.details.
2e80 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 .#.#....This.module.inherited.fr
2ea0 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e om.the.Webmin.Module.Template.0.
2ec0 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 79.1.by.tn..do.'../web-lib.pl';.
2ee0 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c do.'../ui-lib.pl';.do.'dnsmasq-l
2f00 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 ib.pl';..$|=1;.&init_config("DNS
2f20 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c Masq");..%access=&get_module_acl
2f40 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 ;..##.put.in.ACL.checks.here.if.
2f60 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 26 68 65 61 64 needed...##.sanity.checks..&head
2f80 65 72 28 24 74 65 78 74 7b 27 69 6e 64 65 78 5f 74 69 74 6c 65 27 7d 2c 20 22 22 2c 20 22 69 6e er($text{'index_title'},."",."in
2fa0 74 72 6f 22 2c 20 31 2c 20 31 2c 20 75 6e 64 65 66 2c 0a 20 20 20 20 20 20 20 20 22 57 72 69 74 tro",.1,.1,.undef,........."Writ
2fc0 74 65 6e 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 3c 42 52 3e 3c 41 20 48 52 45 46 3d 6d 61 ten.by.Neil.Fisher<BR><A.HREF=ma
2fe0 69 6c 74 6f 3a 6e 65 69 6c 5c 40 6d 61 67 6e 65 63 6f 72 2e 63 6f 6d 2e 61 75 3e 41 75 74 68 6f ilto:neil\@magnecor.com.au>Autho
3000 72 3c 2f 41 3e 3c 42 52 3e 3c 41 20 48 52 45 46 3d 68 74 74 70 3a 2f 2f 77 77 77 2e 61 75 74 68 r</A><BR><A.HREF=http://www.auth
3020 6f 72 70 61 67 65 2e 69 6e 76 61 6c 69 64 3e 48 6f 6d 65 3a 2f 2f 70 61 67 65 3c 2f 41 3e 22 29 orpage.invalid>Home://page</A>")
3040 3b 0a 23 20 75 73 65 73 20 74 68 65 20 69 6e 64 65 78 5f 74 69 74 6c 65 20 65 6e 74 72 79 20 66 ;.#.uses.the.index_title.entry.f
3060 72 6f 6d 20 2e 2f 6c 61 6e 67 2f 65 6e 20 6f 72 20 61 70 70 72 6f 70 72 69 61 74 65 0a 0a 23 23 rom../lang/en.or.appropriate..##
3080 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 .Insert.Output.code.here.#.read.
30a0 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 config.file.$config_file.=.&read
30c0 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 _file_lines(.$config{config_file
30e0 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a }.);.#.pass.into.data.structure.
3100 0a 0a 23 20 6f 75 74 70 75 74 20 61 73 20 77 65 62 20 70 61 67 65 0a 0a 0a 26 68 65 61 64 65 72 ..#.output.as.web.page...&header
3120 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 26 70 61 72 (."DNSMasq.settings",."".);.&par
3140 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 se_config_file(.\%config,.\$conf
3160 69 67 5f 66 69 6c 65 20 29 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 5c 6e 22 3b 0a 69 66 28 20 24 ig_file.);.print."<hr>\n";.if(.$
3180 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 70 72 69 6e 74 20 22 3c config{errors}.>.0.).{..print."<
31a0 68 33 3e 57 41 52 4e 49 4e 47 3a 20 66 6f 75 6e 64 20 22 3b 0a 09 70 72 69 6e 74 20 24 63 6f 6e h3>WARNING:.found.";..print.$con
31c0 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 22 65 72 72 6f 72 73 20 69 6e 20 63 fig{errors};..print."errors.in.c
31e0 6f 6e 66 69 67 20 66 69 6c 65 21 3c 2f 68 33 3e 3c 62 72 3e 5c 6e 22 3b 0a 7d 0a 70 72 69 6e 74 onfig.file!</h3><br>\n";.}.print
3200 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 27 62 61 73 69 63 5f 61 70 70 6c 79 2e 63 67 .&ui_form_start(.'basic_apply.cg
3220 69 27 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a 70 72 i',."post".);.print."<br>\n";.pr
3240 69 6e 74 20 22 3c 68 32 3e 24 74 65 78 74 7b 27 44 4e 53 5f 73 65 74 74 69 6e 67 73 27 7d 3c 2f int."<h2>$text{'DNS_settings'}</
3260 68 32 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 h2>";.print."<br><br>\n";.print.
3280 24 74 65 78 74 7b 27 6c 6f 63 61 6c 5f 64 6f 6d 61 69 6e 27 7d 3b 0a 70 72 69 6e 74 20 26 75 69 $text{'local_domain'};.print.&ui
32a0 5f 74 65 78 74 62 6f 78 28 20 22 6c 6f 63 61 6c 5f 64 6f 6d 61 69 6e 22 2c 20 24 63 6f 6e 66 69 _textbox(."local_domain",.$confi
32c0 67 7b 64 6f 6d 61 69 6e 7d 7b 64 6f 6d 61 69 6e 7d 2c 20 33 32 20 29 3b 0a 70 72 69 6e 74 20 22 g{domain}{domain},.32.);.print."
32e0 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 64 6f 6d 61 69 6e <br><br>\n";.print.$text{'domain
3300 5f 6e 65 65 64 65 64 27 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f _needed'};.print.&ui_yesno_radio
3320 28 20 22 64 6f 6d 61 69 6e 5f 6e 65 65 64 65 64 22 2c 20 28 24 63 6f 6e 66 69 67 7b 64 6f 6d 61 (."domain_needed",.($config{doma
3340 69 6e 5f 6e 65 65 64 65 64 7d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 in_needed}{used})?1:0.);.print."
3360 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 65 78 70 61 6e 64 <br><br>\n";.print.$text{'expand
3380 5f 68 6f 73 74 73 27 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 _hosts'};.print.&ui_yesno_radio(
33a0 20 22 65 78 70 61 6e 64 5f 68 6f 73 74 73 22 2c 20 28 24 63 6f 6e 66 69 67 7b 65 78 70 61 6e 64 ."expand_hosts",.($config{expand
33c0 5f 68 6f 73 74 73 7d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 _hosts}{used})?1:0.);.print."<br
33e0 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 62 6f 67 75 73 5f 70 72 69 ><br>\n";.print.$text{'bogus_pri
3400 76 27 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 62 6f 67 v'};.print.&ui_yesno_radio(."bog
3420 75 73 5f 70 72 69 76 22 2c 20 28 24 63 6f 6e 66 69 67 7b 62 6f 67 75 73 5f 70 72 69 76 7d 7b 75 us_priv",.($config{bogus_priv}{u
3440 73 65 64 7d 29 3f 30 3a 31 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b sed})?0:1.);.print."<br><br>\n";
3460 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 66 69 6c 74 65 72 77 69 6e 32 6b 27 7d 3b 0a 70 72 69 .print.$text{'filterwin2k'};.pri
3480 6e 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 66 69 6c 74 65 72 77 69 6e 32 6b nt.&ui_yesno_radio(."filterwin2k
34a0 22 2c 20 28 24 63 6f 6e 66 69 67 7b 66 69 6c 74 65 72 77 69 6e 32 6b 7d 7b 75 73 65 64 7d 29 3f ",.($config{filterwin2k}{used})?
34c0 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 1:0.);.print."<br><br>\n";.print
34e0 20 24 74 65 78 74 7b 27 68 6f 73 74 73 27 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 79 65 73 6e 6f .$text{'hosts'};.print.&ui_yesno
3500 5f 72 61 64 69 6f 28 20 22 68 6f 73 74 73 22 2c 20 28 24 63 6f 6e 66 69 67 7b 6e 6f 5f 68 6f 73 _radio(."hosts",.($config{no_hos
3520 74 73 7d 7b 75 73 65 64 7d 3f 30 3a 31 29 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 ts}{used}?0:1).);.print."<br>\n"
3540 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 78 68 6f 73 74 73 27 7d 3b 0a 70 72 69 6e 74 20 26 ;.print.$text{'xhosts'};.print.&
3560 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 78 68 6f 73 74 73 22 2c 20 28 24 63 6f 6e 66 ui_yesno_radio(."xhosts",.($conf
3580 69 67 7b 61 64 64 6e 5f 68 6f 73 74 73 7d 7b 75 73 65 64 7d 3f 31 3a 30 29 20 29 3b 0a 70 72 69 ig{addn_hosts}{used}?1:0).);.pri
35a0 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 78 68 6f 73 74 73 nt."<br>\n";.print.$text{'xhosts
35c0 66 69 6c 65 27 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 61 64 64 6e file'};.print.&ui_textbox(."addn
35e0 5f 68 6f 73 74 73 22 2c 20 24 63 6f 6e 66 69 67 7b 61 64 64 6e 5f 68 6f 73 74 73 7d 7b 66 69 6c _hosts",.$config{addn_hosts}{fil
3600 65 7d 2c 20 34 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 e},.40.);.print."<br><br>\n";.pr
3620 69 6e 74 20 24 74 65 78 74 7b 27 6e 65 67 5f 63 61 63 68 65 27 7d 3b 0a 70 72 69 6e 74 20 26 75 int.$text{'neg_cache'};.print.&u
3640 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 6e 65 67 5f 63 61 63 68 65 22 2c 20 28 24 63 6f i_yesno_radio(."neg_cache",.($co
3660 6e 66 69 67 7b 6e 65 67 5f 63 61 63 68 65 7d 7b 75 73 65 64 7d 3f 30 3a 31 29 20 29 3b 0a 70 72 nfig{neg_cache}{used}?0:1).);.pr
3680 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 63 int."<br><br>\n";.print.$text{'c
36a0 61 63 68 65 5f 73 69 7a 65 27 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 ache_size'};.print.&ui_yesno_rad
36c0 69 6f 28 20 22 63 61 63 68 65 5f 73 69 7a 65 22 2c 20 28 24 63 6f 6e 66 69 67 7b 63 61 63 68 65 io(."cache_size",.($config{cache
36e0 5f 73 69 7a 65 7d 7b 75 73 65 64 7d 3f 31 3a 30 29 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e _size}{used}?1:0).);.print."<br>
3700 5c 6e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 63 75 73 74 5f 63 61 63 68 65 5f 73 69 7a \n";.print.$text{'cust_cache_siz
3720 65 27 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 63 75 73 74 5f 63 61 e'};.print.&ui_textbox(."cust_ca
3740 63 68 65 5f 73 69 7a 65 22 2c 20 24 63 6f 6e 66 69 67 7b 63 61 63 68 65 5f 73 69 7a 65 7d 7b 73 che_size",.$config{cache_size}{s
3760 69 7a 65 7d 2c 20 34 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a ize},.40.);.print."<br><br>\n";.
3780 70 72 69 6e 74 20 24 74 65 78 74 7b 27 6c 6f 67 5f 71 75 65 72 69 65 73 27 7d 3b 0a 70 72 69 6e print.$text{'log_queries'};.prin
37a0 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 6c 6f 67 5f 71 75 65 72 69 65 73 22 t.&ui_yesno_radio(."log_queries"
37c0 2c 20 28 24 63 6f 6e 66 69 67 7b 6c 6f 67 5f 71 75 65 72 69 65 73 7d 7b 75 73 65 64 7d 3f 31 3a ,.($config{log_queries}{used}?1:
37e0 30 29 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 0).);.print."<br><br>\n";.print.
3800 24 74 65 78 74 7b 27 6c 6f 63 61 6c 5f 74 74 6c 27 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 79 65 $text{'local_ttl'};.print.&ui_ye
3820 73 6e 6f 5f 72 61 64 69 6f 28 20 22 6c 6f 63 61 6c 5f 74 74 6c 22 2c 20 28 24 63 6f 6e 66 69 67 sno_radio(."local_ttl",.($config
3840 7b 6c 6f 63 61 6c 5f 74 74 6c 7d 7b 75 73 65 64 7d 3f 31 3a 30 29 20 29 3b 0a 70 72 69 6e 74 20 {local_ttl}{used}?1:0).);.print.
3860 22 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 74 74 6c 27 7d 3b 0a 70 72 "<br>\n";.print.$text{'ttl'};.pr
3880 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 74 74 6c 22 2c 20 24 63 6f 6e 66 69 67 7b int.&ui_textbox(."ttl",.$config{
38a0 6c 6f 63 61 6c 5f 74 74 6c 7d 7b 74 74 6c 7d 2c 20 34 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 local_ttl}{ttl},.40.);.print."<b
38c0 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 73 75 62 6d 69 74 28 20 24 74 65 r><br>\n";.print.&ui_submit(.$te
38e0 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f 6e 27 7d 20 29 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 xt{'save_button'}.);.print.&ui_f
3900 6f 72 6d 5f 65 6e 64 28 20 29 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 22 3b 0a 70 72 69 6e 74 20 orm_end(.);.print."<hr>";.print.
3920 22 3c 61 20 68 72 65 66 3d 5c 22 73 65 72 76 65 72 73 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e "<a.href=\"servers.cgi\">";.prin
3940 74 20 24 74 65 78 74 7b 27 73 65 72 76 65 72 73 5f 63 6f 6e 66 69 67 27 7d 3b 0a 70 72 69 6e 74 t.$text{'servers_config'};.print
3960 20 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 69 66 ."</a><br>";.print."<a.href=\"if
3980 61 63 65 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 69 66 61 63 65 5f ace.cgi\">";.print.$text{'iface_
39a0 63 6f 6e 66 69 67 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e config'};.print."</a><br>";.prin
39c0 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 61 6c 69 61 73 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e t."<a.href=\"alias.cgi\">";.prin
39e0 74 20 24 74 65 78 74 7b 27 61 6c 69 61 73 5f 63 6f 6e 66 69 67 27 7d 3b 0a 70 72 69 6e 74 20 22 t.$text{'alias_config'};.print."
3a00 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 22 3b 0a 70 72 69 6e 74 20 22 </a><br>";.print."<hr>";.print."
3a20 3c 61 20 68 72 65 66 3d 5c 22 64 68 63 70 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 20 24 74 <a.href=\"dhcp.cgi\">";.print.$t
3a40 65 78 74 7b 27 44 48 43 50 5f 63 6f 6e 66 69 67 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 61 3e 3c ext{'DHCP_config'};.print."</a><
3a60 62 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 br>";.print."<hr>";.print."<a.hr
3a80 65 66 3d 5c 22 72 65 73 74 61 72 74 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 ef=\"restart.cgi\">";.print.$tex
3aa0 74 7b 27 72 65 73 74 61 72 74 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a t{'restart'};.print."</a><br>";.
3ac0 26 66 6f 6f 74 65 72 28 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 20 &footer("/",.$text{'index'});.#.
3ae0 75 73 65 73 20 74 68 65 20 69 6e 64 65 78 20 65 6e 74 72 79 20 69 6e 20 2f 6c 61 6e 67 2f 65 6e uses.the.index.entry.in./lang/en
3b00 0a 0a 0a 0a 23 23 20 69 66 20 73 75 62 72 6f 75 74 69 6e 65 73 20 61 72 65 20 6e 6f 74 20 69 6e ....##.if.subroutines.are.not.in
3b20 20 61 6e 20 65 78 74 72 61 20 66 69 6c 65 20 70 75 74 20 74 68 65 6d 20 68 65 72 65 0a 0a 0a 23 .an.extra.file.put.them.here...#
3b40 23 23 20 45 4e 44 20 6f 66 20 69 6e 64 65 78 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 ##.END.of.index.cgi.###.........
3b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c00 64 6e 73 6d 61 73 71 2f 61 63 6c 5f 73 65 63 75 72 69 74 79 2e 70 6c 00 00 00 00 00 00 00 00 00 dnsmasq/acl_security.pl.........
3c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
3c80 30 30 30 30 35 36 31 00 30 37 30 30 30 34 32 30 36 34 37 00 30 31 34 32 34 36 00 20 30 00 00 00 0000561.07000420647.014246..0...
3ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
3d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
3d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e00 0a 23 20 61 63 6c 5f 73 65 63 75 72 69 74 79 5f 66 6f 72 6d 28 26 6f 70 74 69 6f 6e 73 29 0a 23 .#.acl_security_form(&options).#
3e20 20 4f 75 74 70 75 74 20 48 54 4d 4c 20 66 6f 72 20 65 64 69 74 69 6e 67 20 73 65 63 75 72 69 74 .Output.HTML.for.editing.securit
3e40 79 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 61 70 61 63 68 65 20 6d 6f 64 75 6c 65 0a y.options.for.the.apache.module.
3e60 73 75 62 20 61 63 6c 5f 73 65 63 75 72 69 74 79 5f 66 6f 72 6d 0a 7b 0a 0a 23 23 20 48 65 72 65 sub.acl_security_form.{..##.Here
3e80 20 79 6f 75 20 68 61 76 65 20 74 6f 20 66 69 6c 6c 20 69 6e 20 74 68 65 20 63 6f 64 65 20 66 6f .you.have.to.fill.in.the.code.fo
3ea0 72 20 6f 75 74 70 75 74 0a 0a 7d 0a 0a 23 20 61 63 6c 5f 73 65 63 75 72 69 74 79 5f 73 61 76 65 r.output..}..#.acl_security_save
3ec0 28 26 6f 70 74 69 6f 6e 73 29 0a 23 20 50 61 72 73 65 20 74 68 65 20 66 6f 72 6d 20 66 6f 72 20 (&options).#.Parse.the.form.for.
3ee0 73 65 63 75 72 69 74 79 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 61 70 61 63 68 65 20 security.options.for.the.apache.
3f00 6d 6f 64 75 6c 65 0a 73 75 62 20 61 63 6c 5f 73 65 63 75 72 69 74 79 5f 73 61 76 65 0a 7b 0a 0a module.sub.acl_security_save.{..
3f20 23 23 20 68 65 72 65 20 79 6f 75 20 68 61 76 65 20 74 6f 20 66 69 6c 6c 20 69 6e 20 74 68 65 20 ##.here.you.have.to.fill.in.the.
3f40 68 61 6e 64 6c 69 6e 67 20 63 6f 64 65 20 66 6f 72 20 74 68 65 20 73 61 76 69 6e 67 20 74 68 65 handling.code.for.the.saving.the
3f60 20 41 43 4c 0a 0a 7d 0a 0a 23 23 23 20 45 4e 44 2e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ACL..}..###.END................
3f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4000 64 6e 73 6d 61 73 71 2f 6c 61 6e 67 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/lang/...................
4020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
4080 30 30 30 30 30 30 30 00 31 30 35 31 32 36 34 31 31 37 35 00 30 31 32 31 34 35 00 20 35 00 00 00 0000000.10512641175.012145..5...
40a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
40e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
4120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4200 64 6e 73 6d 61 73 71 2f 6c 61 6e 67 2f 65 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/lang/en.................
4220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
4280 30 30 30 37 36 36 36 00 31 30 35 31 32 36 33 37 33 34 34 00 30 31 32 35 31 34 00 20 30 00 00 00 0007666.10512637344.012514..0...
42a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
4320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
4340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4400 0a 6c 61 6e 67 3d 65 6e 0a 61 75 74 68 6f 72 3d 4e 65 69 6c 20 46 69 73 68 65 72 0a 6d 6f 64 75 .lang=en.author=Neil.Fisher.modu
4420 6c 65 5f 61 75 74 68 6f 72 3d 4e 65 69 6c 20 46 69 73 68 65 72 0a 68 6f 6d 65 70 61 67 65 3d 77 le_author=Neil.Fisher.homepage=w
4440 77 77 2e 6e 6f 6e 65 78 69 73 74 65 6e 74 2e 69 6e 76 61 6c 69 64 0a 63 6f 70 79 72 69 67 68 74 ww.nonexistent.invalid.copyright
4460 3d 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 20 3c 6e 65 69 6c 40 6d =(C).2006.by.Neil.Fisher.<neil@m
4480 61 67 6e 65 63 6f 72 2e 63 6f 6d 2e 61 75 3e 0a 6c 69 63 65 6e 73 65 3d 47 50 4c 0a 0a 69 6e 64 agnecor.com.au>.license=GPL..ind
44a0 65 78 5f 74 69 74 6c 65 3d 44 4e 53 4d 61 73 71 20 2d 20 69 6e 74 65 67 72 61 74 65 64 20 44 4e ex_title=DNSMasq.-.integrated.DN
44c0 53 20 61 6e 64 20 44 48 43 50 20 73 65 72 76 65 72 73 0a 44 4e 53 5f 73 65 74 74 69 6e 67 73 3d S.and.DHCP.servers.DNS_settings=
44e0 42 61 73 69 63 20 44 4e 53 20 73 65 74 74 69 6e 67 73 0a 44 48 43 50 5f 73 65 74 74 69 6e 67 73 Basic.DNS.settings.DHCP_settings
4500 3d 44 48 43 50 20 73 65 74 74 69 6e 67 73 0a 44 4e 53 5f 73 65 72 76 65 72 73 3d 44 4e 53 20 55 =DHCP.settings.DNS_servers=DNS.U
4520 70 73 74 72 65 61 6d 20 53 65 72 76 65 72 73 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a 69 66 pstream.Servers.Configuration.if
4540 61 63 65 5f 73 65 74 74 69 6e 67 73 3d 4e 65 74 77 6f 72 6b 20 49 6e 74 65 72 66 61 63 65 20 53 ace_settings=Network.Interface.S
4560 65 74 74 69 6e 67 73 0a 61 6c 69 61 73 5f 73 65 74 74 69 6e 67 73 3d 41 6c 69 61 73 20 2f 20 52 ettings.alias_settings=Alias./.R
4580 65 64 69 72 65 63 74 20 53 65 74 74 69 6e 67 73 0a 6c 6f 63 61 6c 5f 64 6f 6d 61 69 6e 3d 4c 6f edirect.Settings.local_domain=Lo
45a0 63 61 6c 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 20 0a 64 6f 6d 61 69 6e 5f 6e 65 65 64 65 64 3d 4f cal.domain.name..domain_needed=O
45c0 6e 6c 79 20 66 6f 72 77 61 72 64 20 6e 61 6d 65 73 20 77 69 74 68 20 61 20 64 6f 6d 61 69 6e 20 nly.forward.names.with.a.domain.
45e0 70 61 72 74 20 0a 65 78 70 61 6e 64 5f 68 6f 73 74 73 3d 41 64 64 20 6c 6f 63 61 6c 20 64 6f 6d part..expand_hosts=Add.local.dom
4600 61 69 6e 20 6e 61 6d 65 20 74 6f 20 44 48 43 50 20 6c 65 61 73 65 73 20 26 20 68 6f 73 74 73 20 ain.name.to.DHCP.leases.&.hosts.
4620 69 6e 20 2f 65 74 63 2f 68 6f 73 74 73 20 0a 62 6f 67 75 73 5f 70 72 69 76 3d 41 6c 6c 6f 77 20 in./etc/hosts..bogus_priv=Allow.
4640 75 6e 72 65 73 6f 6c 76 65 64 20 72 65 76 65 72 73 65 20 6c 6f 6f 6b 75 70 73 20 6f 6e 20 6c 6f unresolved.reverse.lookups.on.lo
4660 63 61 6c 20 6e 65 74 77 6f 72 6b 20 74 6f 20 70 72 6f 70 6f 67 61 74 65 20 6f 75 74 20 0a 66 69 cal.network.to.propogate.out..fi
4680 6c 74 65 72 77 69 6e 32 6b 3d 50 72 65 76 65 6e 74 20 77 69 6e 64 6f 77 73 20 53 4f 41 20 26 20 lterwin2k=Prevent.windows.SOA.&.
46a0 53 52 56 20 72 65 71 75 65 73 74 73 20 70 72 6f 70 6f 67 61 74 69 6e 67 20 6f 75 74 0a 72 65 73 SRV.requests.propogating.out.res
46c0 6f 6c 76 3d 52 65 61 64 20 2f 65 74 63 2f 72 65 73 6f 6c 76 2e 63 6f 6e 66 20 0a 70 6f 6c 6c 3d olv=Read./etc/resolv.conf..poll=
46e0 70 6f 6c 6c 20 72 65 73 6f 6c 76 2e 63 6f 6e 66 20 66 69 6c 65 20 0a 72 65 73 6f 6c 76 5f 66 69 poll.resolv.conf.file..resolv_fi
4700 6c 65 5f 65 78 70 6c 69 63 69 74 3d 55 73 65 20 6e 6f 6e 2d 73 74 61 6e 64 61 72 64 20 72 65 73 le_explicit=Use.non-standard.res
4720 6f 6c 76 2e 63 6f 6e 66 20 66 69 6c 65 0a 72 65 73 6f 6c 76 5f 66 69 6c 65 3d 6e 6f 6e 2d 73 74 olv.conf.file.resolv_file=non-st
4740 61 6e 64 61 72 64 20 72 65 73 6f 6c 76 2e 63 6f 6e 66 20 66 69 6c 65 20 74 6f 20 75 73 65 0a 73 andard.resolv.conf.file.to.use.s
4760 74 72 69 63 74 5f 6f 72 64 65 72 3d 41 6c 77 61 79 73 20 75 73 65 20 6e 61 6d 65 73 65 72 76 65 trict_order=Always.use.nameserve
4780 72 73 20 69 6e 20 6f 72 64 65 72 20 70 72 6f 76 69 64 65 64 0a 68 6f 73 74 73 3d 52 65 61 64 20 rs.in.order.provided.hosts=Read.
47a0 2f 65 74 63 2f 68 6f 73 74 73 20 66 69 6c 65 0a 78 68 6f 73 74 73 3d 55 73 65 20 61 64 64 69 74 /etc/hosts.file.xhosts=Use.addit
47c0 69 6f 6e 61 6c 20 68 6f 73 74 73 20 66 69 6c 65 0a 78 68 6f 73 74 73 66 69 6c 65 3d 46 69 6c 65 ional.hosts.file.xhostsfile=File
47e0 20 74 6f 20 75 73 65 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 61 6c 20 68 6f 73 74 73 0a 6e 65 67 .to.use.for.additional.hosts.neg
4800 5f 63 61 63 68 65 3d 43 61 63 68 65 20 6e 65 67 61 74 69 76 65 20 72 65 73 70 6f 6e 73 65 73 0a _cache=Cache.negative.responses.
4820 6c 6f 67 5f 71 75 65 72 69 65 73 3d 4c 6f 67 20 65 61 63 68 20 44 4e 53 20 6c 6f 6f 6b 75 70 0a log_queries=Log.each.DNS.lookup.
4840 63 61 63 68 65 5f 73 69 7a 65 3d 55 73 65 20 63 75 73 74 6f 6d 20 63 61 63 68 65 20 73 69 7a 65 cache_size=Use.custom.cache.size
4860 0a 63 75 73 74 5f 63 61 63 68 65 5f 73 69 7a 65 3d 43 75 73 74 6f 6d 20 63 61 63 68 65 20 73 69 .cust_cache_size=Custom.cache.si
4880 7a 65 20 74 6f 20 75 73 65 0a 6c 6f 63 61 6c 5f 74 74 6c 3d 55 73 65 20 73 70 65 63 69 66 69 65 ze.to.use.local_ttl=Use.specifie
48a0 64 20 6c 6f 63 61 6c 20 54 69 6d 65 2d 54 6f 2d 4c 69 76 65 0a 74 74 6c 3d 4c 6f 63 61 6c 20 54 d.local.Time-To-Live.ttl=Local.T
48c0 54 4c 0a 64 79 6e 61 6d 69 63 3d 44 65 66 69 6e 65 64 20 69 6e 20 72 65 73 6f 6c 76 2e 63 6f 6e TL.dynamic=Defined.in.resolv.con
48e0 66 20 66 69 6c 65 0a 64 6f 6d 61 69 6e 3d 46 6f 72 20 64 6f 6d 61 69 6e 0a 61 64 64 72 65 73 73 f.file.domain=For.domain.address
4900 3d 49 50 20 61 64 64 72 65 73 73 0a 69 6e 5f 75 73 65 3d 49 6e 20 75 73 65 0a 75 73 65 64 3d 49 =IP.address.in_use=In.use.used=I
4920 6e 20 55 73 65 0a 6e 6f 74 5f 75 73 65 64 3d 44 65 66 69 6e 65 64 20 6f 6e 6c 79 20 28 6e 6f 74 n.Use.not_used=Defined.only.(not
4940 20 75 73 65 64 29 0a 69 6e 5f 66 69 6c 65 3d 44 65 66 69 6e 65 64 20 69 6e 20 63 6f 6e 66 69 67 .used).in_file=Defined.in.config
4960 20 66 69 6c 65 0a 6e 65 77 5f 64 6e 73 5f 73 65 72 76 3d 41 64 64 20 6e 65 77 20 75 70 73 74 72 .file.new_dns_serv=Add.new.upstr
4980 65 61 6d 20 73 65 72 76 65 72 20 74 6f 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 73 61 76 65 5f 62 eam.server.to.config.file.save_b
49a0 75 74 74 6f 6e 3d 53 61 76 65 0a 73 65 72 76 65 72 73 5f 63 6f 6e 66 69 67 3d 43 6f 6e 66 69 67 utton=Save.servers_config=Config
49c0 75 72 65 20 75 70 73 74 72 65 61 6d 20 44 4e 53 20 53 65 72 76 65 72 73 0a 61 6c 69 61 73 5f 63 ure.upstream.DNS.Servers.alias_c
49e0 6f 6e 66 69 67 3d 43 6f 6e 66 69 67 75 72 65 20 46 6f 72 63 65 64 20 44 6f 6d 61 69 6e 73 20 61 onfig=Configure.Forced.Domains.a
4a00 6e 64 20 41 6c 69 61 73 20 72 65 73 70 6f 6e 73 65 73 0a 69 66 61 63 65 5f 63 6f 6e 66 69 67 3d nd.Alias.responses.iface_config=
4a20 43 6f 6e 66 69 67 75 72 65 20 6e 65 74 77 6f 72 6b 20 69 6e 74 65 72 66 61 63 65 73 0a 44 48 43 Configure.network.interfaces.DHC
4a40 50 5f 63 6f 6e 66 69 67 3d 43 6f 6e 66 69 67 75 72 65 20 44 48 43 50 0a 72 65 73 74 61 72 74 3d P_config=Configure.DHCP.restart=
4a60 52 65 73 74 61 72 74 20 44 4e 53 6d 61 73 71 0a 72 65 73 74 61 72 74 69 6e 67 3d 54 72 79 69 6e Restart.DNSmasq.restarting=Tryin
4a80 67 20 74 6f 20 72 65 73 74 61 72 74 20 44 4e 53 6d 61 73 71 2e 20 53 63 72 69 70 74 20 6d 65 73 g.to.restart.DNSmasq..Script.mes
4aa0 73 61 67 65 73 20 61 72 65 3a 0a 73 72 76 5f 65 64 69 74 3d 45 64 69 74 20 75 70 73 74 72 65 61 sages.are:.srv_edit=Edit.upstrea
4ac0 6d 20 44 4e 53 20 73 65 72 76 65 72 0a 73 72 76 5f 6e 61 6d 65 64 3d 46 6f 72 20 73 70 65 63 69 m.DNS.server.srv_named=For.speci
4ae0 66 69 63 20 64 6f 6d 61 69 6e 0a 73 72 76 5f 6e 61 6d 65 3d 53 70 65 63 69 66 69 63 20 64 6f 6d fic.domain.srv_name=Specific.dom
4b00 61 69 6e 0a 73 72 76 5f 61 64 64 72 3d 53 65 72 76 65 72 20 61 64 64 72 65 73 73 0a 64 65 6c 65 ain.srv_addr=Server.address.dele
4b20 74 3d 44 65 6c 65 74 65 0a 69 66 61 63 65 3d 49 6e 74 65 72 66 61 63 65 0a 78 69 66 61 63 65 3d t=Delete.iface=Interface.xiface=
4b40 45 78 63 65 70 74 20 49 6e 74 65 72 66 61 63 65 0a 6c 69 73 74 65 6e 3d 4c 69 73 74 65 6e 20 6f Except.Interface.listen=Listen.o
4b60 6e 0a 6e 65 77 5f 69 66 61 63 65 3d 41 64 64 20 6e 65 77 20 69 6e 74 65 72 66 61 63 65 0a 69 66 n.new_iface=Add.new.interface.if
4b80 61 63 65 5f 6c 69 73 74 65 6e 3d 49 6e 74 65 72 66 61 63 65 20 74 6f 20 6c 69 73 74 65 6e 20 6f ace_listen=Interface.to.listen.o
4ba0 6e 0a 78 69 66 61 63 65 5f 6c 69 73 74 65 6e 3d 45 78 63 65 70 74 20 69 6e 74 65 72 66 61 63 65 n.xiface_listen=Except.interface
4bc0 73 0a 6c 69 73 74 65 6e 5f 61 64 64 72 3d 4c 69 73 74 65 6e 20 41 64 64 72 65 73 73 0a 6e 65 77 s.listen_addr=Listen.Address.new
4be0 5f 61 64 64 72 3d 41 64 64 20 6e 65 77 20 61 64 64 72 65 73 73 0a 65 64 69 74 5f 69 66 61 63 65 _addr=Add.new.address.edit_iface
4c00 3d 45 64 69 74 20 69 6e 74 65 72 66 61 63 65 0a 69 66 61 63 65 5f 6e 61 6d 65 3d 49 6e 74 65 72 =Edit.interface.iface_name=Inter
4c20 66 61 63 65 20 6e 61 6d 65 0a 65 64 69 74 5f 78 69 66 61 63 65 3d 45 64 69 74 20 65 78 63 65 70 face.name.edit_xiface=Edit.excep
4c40 74 20 69 6e 74 65 72 66 61 63 65 0a 6c 69 73 74 65 6e 5f 6e 61 6d 65 3d 4c 69 73 74 65 6e 20 61 t.interface.listen_name=Listen.a
4c60 64 64 72 65 73 73 0a 65 64 69 74 5f 6c 69 73 74 65 6e 3d 45 64 69 74 20 6c 69 73 74 65 6e 20 61 ddress.edit_listen=Edit.listen.a
4c80 64 64 72 65 73 73 0a 78 69 66 61 63 65 5f 6e 61 6d 65 3d 45 78 63 65 70 74 20 69 6e 74 65 72 66 ddress.xiface_name=Except.interf
4ca0 61 63 65 20 6e 61 6d 65 0a 62 69 6e 64 5f 69 66 61 63 65 3d 42 69 6e 64 20 74 6f 20 69 6e 64 69 ace.name.bind_iface=Bind.to.indi
4cc0 76 69 64 75 61 6c 20 69 6e 74 65 72 66 61 63 65 73 20 69 6e 73 74 65 61 64 20 6f 66 20 77 69 6c vidual.interfaces.instead.of.wil
4ce0 64 63 61 72 64 20 61 64 64 72 65 73 73 0a 66 6f 72 63 65 64 3d 46 6f 72 63 65 64 20 64 6f 6d 61 dcard.address.forced=Forced.doma
4d00 69 6e 20 72 65 73 70 6f 6e 73 65 73 0a 6e 78 3d 46 6f 72 63 65 64 20 4e 58 44 4f 4d 41 49 4e 20 in.responses.nx=Forced.NXDOMAIN.
4d20 49 50 20 61 64 64 72 65 73 73 65 73 0a 61 6c 69 61 73 3d 41 6c 69 61 73 65 64 20 49 50 20 61 64 IP.addresses.alias=Aliased.IP.ad
4d40 64 72 65 73 73 65 73 0a 66 6f 72 63 65 64 5f 64 6f 6d 61 69 6e 3d 44 6f 6d 61 69 6e 20 6e 61 6d dresses.forced_domain=Domain.nam
4d60 65 0a 66 6f 72 63 65 64 5f 69 70 3d 54 6f 20 49 50 20 61 64 64 72 65 73 73 0a 66 6f 72 63 65 64 e.forced_ip=To.IP.address.forced
4d80 5f 66 72 6f 6d 3d 46 72 6f 6d 20 49 50 20 61 64 64 72 65 73 73 0a 66 6f 72 63 65 64 5f 6d 61 73 _from=From.IP.address.forced_mas
4da0 6b 3d 4e 65 74 6d 61 73 6b 0a 66 6f 72 63 65 64 5f 6d 61 73 6b 5f 75 73 65 64 3d 55 73 65 20 61 k=Netmask.forced_mask_used=Use.a
4dc0 20 6e 65 74 6d 61 73 6b 0a 66 6f 72 63 65 64 5f 61 64 64 3d 41 64 64 20 6e 65 77 20 66 6f 72 63 .netmask.forced_add=Add.new.forc
4de0 65 64 20 64 6f 6d 61 69 6e 0a 61 6c 69 61 73 5f 61 64 64 3d 41 64 64 20 6e 65 77 20 61 6c 69 61 ed.domain.alias_add=Add.new.alia
4e00 73 0a 6e 78 5f 61 64 64 3d 41 64 64 20 6e 65 77 20 66 6f 72 63 65 64 20 4e 58 44 4f 4d 41 49 4e s.nx_add=Add.new.forced.NXDOMAIN
4e20 0a 66 6f 72 63 65 64 5f 65 64 69 74 3d 45 64 69 74 20 66 6f 72 63 65 64 20 64 6f 6d 61 69 6e 20 .forced_edit=Edit.forced.domain.
4e40 72 65 70 6f 6e 73 65 0a 61 6c 69 61 73 5f 65 64 69 74 3d 45 64 69 74 20 49 50 20 61 64 64 72 65 reponse.alias_edit=Edit.IP.addre
4e60 73 73 20 61 6c 69 61 73 0a 6e 78 5f 65 64 69 74 3d 45 64 69 74 20 46 6f 72 63 65 64 20 4e 58 44 ss.alias.nx_edit=Edit.Forced.NXD
4e80 4f 4d 41 49 4e 20 72 65 73 70 6f 6e 73 65 0a 6e 65 74 5f 69 64 3d 4e 65 74 77 6f 72 6b 2f 43 6c OMAIN.response.net_id=Network/Cl
4ea0 69 65 6e 74 20 49 44 0a 74 69 6d 65 64 3d 55 73 65 20 61 20 6c 65 61 73 65 20 74 69 6d 65 0a 6c ient.ID.timed=Use.a.lease.time.l
4ec0 65 61 73 65 74 69 6d 65 3d 4c 65 61 73 65 20 74 69 6d 65 0a 64 68 63 70 5f 72 61 6e 67 65 3d 44 easetime=Lease.time.dhcp_range=D
4ee0 48 43 50 20 49 50 20 61 64 64 72 65 73 73 20 72 61 6e 67 65 73 0a 72 61 6e 67 65 5f 65 64 69 74 HCP.IP.address.ranges.range_edit
4f00 3d 45 64 69 74 20 44 48 43 50 20 72 61 6e 67 65 0a 72 61 6e 67 65 5f 61 64 64 3d 41 64 64 20 6e =Edit.DHCP.range.range_add=Add.n
4f20 65 77 20 44 48 43 50 20 72 61 6e 67 65 0a 69 64 65 64 3d 4e 65 74 77 6f 72 6b 20 49 44 0a 69 64 ew.DHCP.range.ided=Network.ID.id
4f40 3d 4e 65 74 77 6f 72 6b 20 49 44 20 74 6f 20 75 73 65 0a 68 6f 73 74 73 3d 53 70 65 63 69 66 69 =Network.ID.to.use.hosts=Specifi
4f60 63 20 48 6f 73 74 73 0a 68 6f 73 74 5f 61 64 64 3d 41 64 64 20 61 20 6e 65 77 20 68 6f 73 74 20 c.Hosts.host_add=Add.a.new.host.
4f80 73 70 65 63 69 66 69 63 61 74 69 6f 6e 0a 76 65 6e 64 6f 72 5f 63 6c 61 73 73 65 73 3d 56 65 6e specification.vendor_classes=Ven
4fa0 64 6f 72 20 43 6c 61 73 73 20 53 70 65 63 69 66 69 63 61 74 69 6f 6e 0a 75 73 65 72 5f 63 6c 61 dor.Class.Specification.user_cla
4fc0 73 73 65 73 3d 55 73 65 72 20 43 6c 61 73 73 20 53 70 65 63 69 66 69 63 61 74 69 6f 6e 0a 76 65 sses=User.Class.Specification.ve
4fe0 6e 64 6f 72 3d 56 65 6e 64 6f 72 0a 75 73 65 72 3d 55 73 65 72 0a 63 6c 61 73 73 3d 43 6c 61 73 ndor=Vendor.user=User.class=Clas
5000 73 0a 76 65 6e 64 5f 61 64 64 3d 41 64 64 20 6e 65 77 20 76 65 6e 64 6f 72 20 63 6c 61 73 73 0a s.vend_add=Add.new.vendor.class.
5020 75 73 65 72 5f 61 64 64 3d 41 64 64 20 6e 65 77 20 75 73 65 72 20 63 6c 61 73 73 0a 72 65 61 64 user_add=Add.new.user.class.read
5040 5f 65 74 68 65 72 73 3d 52 65 61 64 20 2f 65 74 63 2f 65 74 68 65 72 73 20 66 6f 72 20 6c 65 61 _ethers=Read./etc/ethers.for.lea
5060 73 65 20 69 6e 66 6f 0a 6d 69 73 63 3d 4d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 44 48 43 50 20 se.info.misc=Miscellaneous.DHCP.
5080 6f 70 74 69 6f 6e 73 0a 64 68 63 70 5f 6f 70 74 69 6f 6e 73 3d 4e 6f 6e 2d 73 74 61 6e 64 61 72 options.dhcp_options=Non-standar
50a0 64 20 44 48 43 50 20 6f 70 74 69 6f 6e 73 0a 64 68 63 70 5f 6f 70 74 69 6f 6e 3d 4f 70 74 69 6f d.DHCP.options.dhcp_option=Optio
50c0 6e 0a 64 68 63 70 5f 61 64 64 3d 41 64 64 20 6e 65 77 20 6f 70 74 69 6f 6e 0a 65 64 69 74 5f 68 n.dhcp_add=Add.new.option.edit_h
50e0 6f 73 74 3d 45 64 69 74 20 44 48 43 50 20 68 6f 73 74 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e ost=Edit.DHCP.host.specification
5100 0a 65 64 69 74 5f 6f 70 74 3d 45 64 69 74 20 44 48 43 50 20 6f 70 74 69 6f 6e 73 0a 6f 70 74 5f .edit_opt=Edit.DHCP.options.opt_
5120 73 70 65 63 3d 44 48 43 50 20 6f 70 74 69 6f 6e 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 0a 75 spec=DHCP.option.specification.u
5140 73 65 5f 62 6f 6f 74 70 3d 55 73 65 20 42 4f 4f 54 50 20 28 6e 65 74 77 6f 72 6b 20 62 6f 6f 74 se_bootp=Use.BOOTP.(network.boot
5160 29 0a 62 6f 6f 74 70 5f 68 6f 73 74 3d 48 6f 73 74 6e 61 6d 65 0a 62 6f 6f 74 70 5f 66 69 6c 65 ).bootp_host=Hostname.bootp_file
5180 3d 46 69 6c 65 0a 62 6f 6f 74 70 5f 61 64 64 72 65 73 73 3d 49 50 20 41 64 64 72 65 73 73 0a 6d =File.bootp_address=IP.Address.m
51a0 61 78 5f 6c 65 61 73 65 73 3d 4d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 6c 65 61 73 ax_leases=Maximum.number.of.leas
51c0 65 73 20 74 6f 20 67 72 61 6e 74 0a 6c 65 61 73 65 66 69 6c 65 3d 55 73 65 20 61 20 6e 6f 6e 73 es.to.grant.leasefile=Use.a.nons
51e0 74 61 6e 64 61 72 64 20 6c 65 61 73 65 20 66 69 6c 65 0a 6c 66 69 6b 6c 65 74 6f 75 73 65 3d 4e tandard.lease.file.lfikletouse=N
5200 6f 6e 73 74 61 6e 64 61 72 64 20 6c 65 61 73 65 66 69 6c 65 20 74 6f 20 75 73 65 0a 65 72 72 6f onstandard.leasefile.to.use.erro
5220 72 5f 68 65 61 64 69 6e 67 3d 57 61 72 6e 69 6e 67 20 2d 20 45 52 52 4f 52 21 21 21 21 0a 65 72 r_heading=Warning.-.ERROR!!!!.er
5240 72 5f 6c 69 6e 65 3d 45 72 72 6f 72 20 69 6e 20 6c 69 6e 65 3a 20 0a 65 72 72 5f 74 79 70 65 3d r_line=Error.in.line:..err_type=
5260 54 79 70 65 20 6f 66 20 65 72 72 6f 72 20 69 73 3a 0a 65 72 72 5f 68 65 6c 70 3d 54 72 79 20 67 Type.of.error.is:.err_help=Try.g
5280 6f 69 6e 67 20 62 61 63 6b 20 61 6e 64 20 72 65 74 79 70 69 6e 67 20 74 68 65 20 6f 66 66 65 6e oing.back.and.retyping.the.offen
52a0 64 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 65 72 72 5f 6e 6f 74 69 70 3d 4e 6f 74 20 61 ding.information.err_notip=Not.a
52c0 20 76 61 6c 69 64 20 49 50 20 61 64 64 72 65 73 73 0a 65 72 72 5f 6e 6f 74 6d 61 73 6b 3d 4e 6f .valid.IP.address.err_notmask=No
52e0 74 20 61 20 76 61 6c 69 64 20 6e 65 74 6d 61 73 6b 0a 65 72 72 5f 6e 6f 74 74 69 6d 65 3d 6e 6f t.a.valid.netmask.err_nottime=no
5300 74 20 61 20 76 61 6c 69 64 20 74 69 6d 65 0a 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 3d 43 6f 6e t.a.valid.time.err_configbad=Con
5320 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 20 68 61 73 20 61 6e 20 65 72 72 6f 72 0a 65 72 72 figuration.file.has.an.error.err
5340 5f 66 69 6c 65 62 61 64 3d 42 61 64 20 66 69 6c 65 20 6e 61 6d 65 0a 65 72 72 5f 68 6f 73 74 62 _filebad=Bad.file.name.err_hostb
5360 61 64 3d 42 61 64 20 68 6f 73 74 20 6e 61 6d 65 0a 65 72 72 5f 6e 75 6d 62 62 61 64 3d 42 61 64 ad=Bad.host.name.err_numbbad=Bad
5380 20 6e 75 6d 62 65 72 0a 65 72 72 5f 64 6f 6d 61 69 6e 62 61 64 3d 42 61 64 20 64 6f 6d 61 69 6e .number.err_domainbad=Bad.domain
53a0 0a 65 72 72 5f 6e 61 6d 65 62 61 64 3d 42 61 64 20 6e 61 6d 65 0a 00 00 00 00 00 00 00 00 00 00 .err_namebad=Bad.name...........
53c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5400 64 6e 73 6d 61 73 71 2f 6c 61 6e 67 2f 65 6e 7e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/lang/en~................
5420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5460 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5480 30 30 30 30 33 34 34 00 30 37 30 37 36 36 35 31 32 36 32 00 30 31 32 37 30 32 00 20 30 00 00 00 0000344.07076651262.012702..0...
54a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
5520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
55e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5600 0a 6c 61 6e 67 3d 65 6e 0a 61 75 74 68 6f 72 3d 4e 61 6d 65 20 6f 66 20 6c 61 6e 67 75 61 67 65 .lang=en.author=Name.of.language
5620 20 66 69 6c 65 20 61 75 74 68 6f 72 20 68 65 72 65 0a 6d 6f 64 75 6c 65 5f 61 75 74 68 6f 72 3d .file.author.here.module_author=
5640 57 72 69 74 65 72 73 20 6e 61 6d 65 20 68 65 72 65 0a 68 6f 6d 65 70 61 67 65 3d 6d 6f 64 75 6c Writers.name.here.homepage=modul
5660 65 73 20 68 6f 6d 65 70 61 67 65 20 75 72 6c 20 68 65 72 65 0a 63 6f 70 79 72 69 67 68 74 3d 28 es.homepage.url.here.copyright=(
5680 43 29 20 59 59 59 59 20 62 79 20 61 75 74 68 6f 72 20 3c 65 6d 61 69 6c 40 61 75 74 68 6f 72 2e C).YYYY.by.author.<email@author.
56a0 61 6e 79 3e 0a 6c 69 63 65 6e 73 65 3d 47 50 4c 0a 0a 79 6f 75 72 5f 6d 65 73 73 61 67 65 3d 68 any>.license=GPL..your_message=h
56c0 65 72 65 20 79 6f 75 20 68 61 76 65 20 74 6f 20 77 72 69 74 65 20 79 6f 75 72 20 6d 65 73 73 61 ere.you.have.to.write.your.messa
56e0 67 65 73 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ges.............................
5700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5800 64 6e 73 6d 61 73 71 2f 2e 69 6e 64 65 78 2e 63 67 69 2e 73 77 70 00 00 00 00 00 00 00 00 00 00 dnsmasq/.index.cgi.swp..........
5820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5860 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
5880 30 30 33 30 30 30 30 00 31 30 34 37 35 32 32 35 35 35 37 00 30 31 33 37 31 30 00 20 30 00 00 00 0030000.10475225557.013710..0...
58a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
58e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
5920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
5940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
59e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a00 62 30 56 49 4d 20 36 2e 33 00 00 00 00 10 00 00 52 2b f5 44 f8 42 18 00 81 23 00 00 73 74 61 66 b0VIM.6.3.......R+.D.B...#..staf
5a20 66 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f...............................
5a40 00 00 00 00 75 70 73 74 61 69 72 73 2e 6c 6f 63 61 6c 6e 65 74 00 00 00 00 00 00 00 00 00 00 00 ....upstairs.localnet...........
5a60 00 00 00 00 00 00 00 00 00 00 00 00 7e 73 74 61 66 66 2f 74 65 6d 70 6c 61 74 65 2f 69 6e 64 65 ............~staff/template/inde
5a80 78 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 x.cgi...........................
5aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 33 32 31 30 23 22 21 20 13 12 55 00 00 00 00 00 ................3210#"!...U.....
5e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
62a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
62c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
62e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a00 74 70 01 00 ff 00 00 00 02 00 00 00 49 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 tp..........I...................
6a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
72a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
72c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
72e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
73a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
73c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
73e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
76a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
76c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
76e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
78e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
79e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7a00 61 64 00 00 24 08 00 00 5c 09 00 00 00 10 00 00 49 00 00 00 f0 0f 00 00 ee 0f 00 00 cd 0f 00 00 ad..$...\.......I...............
7a20 a6 0f 00 00 a0 0f 00 00 56 0f 00 00 0c 0f 00 00 c5 0e 00 00 9c 0e 00 00 9a 0e 00 00 55 0e 00 00 ........V...................U...
7a40 11 0e 00 00 ce 0d 00 00 9c 0d 00 00 9a 0d 00 00 52 0d 00 00 51 0d 00 00 3d 0d 00 00 37 0d 00 00 ................R...Q...=...7...
7a60 1b 0d 00 00 1a 0d 00 00 01 0d 00 00 00 0d 00 00 dc 0c 00 00 db 0c 00 00 da 0c 00 00 c9 0c 00 00 ................................
7a80 c8 0c 00 00 c7 0c 00 00 c6 0c 00 00 8e 0c 00 00 ff 0b 00 00 c4 0b 00 00 c3 0b 00 00 a8 0b 00 00 ................................
7aa0 95 0b 00 00 5d 0b 00 00 42 0b 00 00 41 0b 00 00 35 0b 00 00 34 0b 00 00 13 0b 00 00 11 0b 00 00 ....]...B...A...5...4...........
7ac0 fb 0a 00 00 f8 0a 00 00 db 0a 00 00 be 0a 00 00 ba 0a 00 00 a5 0a 00 00 a1 0a 00 00 99 0a 00 00 ................................
7ae0 95 0a 00 00 7e 0a 00 00 7a 0a 00 00 77 0a 00 00 75 0a 00 00 74 0a 00 00 5f 0a 00 00 45 0a 00 00 ....~...z...w...u...t..._...E...
7b00 43 0a 00 00 20 0a 00 00 1e 0a 00 00 1d 0a 00 00 f5 09 00 00 d7 09 00 00 b4 09 00 00 b3 09 00 00 C...............................
7b20 b2 09 00 00 b1 09 00 00 78 09 00 00 77 09 00 00 76 09 00 00 5c 09 00 00 00 00 00 00 00 00 00 00 ........x...w...v...\...........
7b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
80e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
81e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
82e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 23 23 23 20 45 4e 44 20 6f 66 23 23 23 20 ..................###.END.of###.
8360 45 4e 44 20 6f 66 20 69 6e 64 65 78 2e 63 67 69 20 23 23 23 2e 00 00 00 23 23 20 69 66 20 73 75 END.of.index.cgi.###....##.if.su
8380 62 72 6f 75 74 69 6e 65 73 20 61 72 65 20 6e 6f 74 20 69 6e 20 61 6e 20 65 78 74 72 61 20 66 69 broutines.are.not.in.an.extra.fi
83a0 6c 65 20 70 75 74 20 74 68 65 6d 20 68 65 72 65 00 00 00 00 23 20 75 73 65 73 20 74 68 65 20 69 le.put.them.here....#.uses.the.i
83c0 6e 64 65 78 20 65 6e 74 72 79 20 69 6e 20 2f 6c 61 6e 67 2f 65 6e 00 26 66 6f 6f 74 65 72 28 22 ndex.entry.in./lang/en.&footer("
83e0 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 00 26 68 65 61 64 65 72 28 20 22 44 /",.$text{'index'});.&header(."D
8400 4e 53 6d 61 73 71 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 22 2c 20 22 22 20 29 3b 00 00 7d 00 NSmasq.configuration",."".);..}.
8420 09 70 72 69 6e 74 20 22 24 6b 65 79 20 3d 20 24 63 6f 6e 66 69 67 7b 24 6b 65 79 7d 3c 62 72 3e .print."$key.=.$config{$key}<br>
8440 22 3b 00 7b 00 66 6f 72 65 61 63 68 20 6d 79 20 24 6b 65 79 20 28 25 63 6f 6e 66 69 67 29 00 23 ";.{.foreach.my.$key.(%config).#
8460 20 6f 75 74 70 75 74 20 61 73 20 77 65 62 20 70 61 67 65 00 00 7d 00 09 7d 00 09 09 7d 00 09 09 .output.as.web.page..}..}...}...
8480 09 24 63 6f 6e 66 69 67 7b 22 24 6c 69 6e 65 22 7d 3d 31 3b 00 09 09 7b 00 09 09 65 6c 73 65 20 .$config{"$line"}=1;...{...else.
84a0 00 09 09 7d 00 09 09 09 24 63 6f 6e 66 69 67 7b 22 24 31 22 7d 3d 24 32 3b 00 09 09 7b 00 09 09 ...}....$config{"$1"}=$2;...{...
84c0 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 2e 2a 29 5c 3d 28 2e 2a 29 2f 29 00 09 09 6e 65 78 if.($line.=~./(.*)\=(.*)/)...nex
84e0 74 20 69 66 28 20 24 6c 69 6e 65 20 3d 7e 20 2f 5e 5c 23 2f 20 29 3b 00 09 7b 00 09 69 66 20 28 t.if(.$line.=~./^\#/.);..{..if.(
8500 64 65 66 69 6e 65 64 20 28 24 6c 69 6e 65 29 29 00 7b 00 66 6f 72 65 61 63 68 20 6d 79 20 24 6c defined.($line)).{.foreach.my.$l
8520 69 6e 65 20 28 40 24 63 6f 6e 66 69 67 5f 66 69 6c 65 29 00 00 6d 79 20 25 63 6f 6e 66 69 67 3b ine.(@$config_file)..my.%config;
8540 00 00 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 00 24 63 6f ..#.pass.into.data.structure.$co
8560 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 22 2f nfig_file.=.&read_file_lines(."/
8580 65 74 63 2f 64 6e 73 6d 61 73 71 2e 63 6f 6e 66 22 20 29 3b 00 23 20 72 65 61 64 20 63 6f 6e 66 etc/dnsmasq.conf".);.#.read.conf
85a0 69 67 20 66 69 6c 65 00 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 ig.file.##.Insert.Output.code.he
85c0 72 65 00 00 23 20 75 73 65 73 20 74 68 65 20 69 6e 64 65 78 5f 74 69 74 6c 65 20 65 6e 74 72 79 re..#.uses.the.index_title.entry
85e0 20 66 72 6f 6d 20 2e 2f 6c 61 6e 67 2f 65 6e 20 6f 72 20 61 70 70 72 6f 70 72 69 61 74 65 00 20 .from../lang/en.or.appropriate..
8600 20 20 20 20 20 20 20 22 57 72 69 74 74 65 6e 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 3c 42 ......."Written.by.Neil.Fisher<B
8620 52 3e 3c 41 20 48 52 45 46 3d 6d 61 69 6c 74 6f 3a 6e 65 69 6c 5c 40 6d 61 67 6e 65 63 6f 72 2e R><A.HREF=mailto:neil\@magnecor.
8640 63 6f 6d 2e 61 75 3e 41 75 74 68 6f 72 3c 2f 41 3e 3c 42 52 3e 3c 41 20 48 52 45 46 3d 68 74 74 com.au>Author</A><BR><A.HREF=htt
8660 70 3a 2f 2f 77 77 77 2e 61 75 74 68 6f 72 70 61 67 65 2e 69 6e 76 61 6c 69 64 3e 48 6f 6d 65 3a p://www.authorpage.invalid>Home:
8680 2f 2f 70 61 67 65 3c 2f 41 3e 22 29 3b 00 26 68 65 61 64 65 72 28 24 74 65 78 74 7b 27 69 6e 64 //page</A>");.&header($text{'ind
86a0 65 78 5f 74 69 74 6c 65 27 7d 2c 20 22 22 2c 20 22 69 6e 74 72 6f 22 2c 20 31 2c 20 31 2c 20 75 ex_title'},."",."intro",.1,.1,.u
86c0 6e 64 65 66 2c 00 00 00 00 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 00 00 00 23 23 20 70 ndef,....##.sanity.checks...##.p
86e0 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 00 ut.in.ACL.checks.here.if.needed.
8700 00 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b 00 00 26 69 6e 69 74 .%access=&get_module_acl;..&init
8720 5f 63 6f 6e 66 69 67 28 22 4d 4f 44 55 4c 45 4e 41 4d 45 22 29 3b 00 24 7c 3d 31 3b 00 64 6f 20 _config("MODULENAME");.$|=1;.do.
8740 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 00 00 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 '../web-lib.pl';..#....This.modu
8760 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 le.inherited.from.the.Webmin.Mod
8780 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 00 23 00 23 20 20 20 ule.Template.0.79.1.by.tn.#.#...
87a0 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 .GNU.General.Public.License.for.
87c0 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 00 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 more.details..#....MERCHANTABILI
87e0 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 TY.or.FITNESS.FOR.A.PARTICULAR.P
8800 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 00 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 URPOSE...See.the.#....but.WITHOU
8820 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 T.ANY.WARRANTY;.without.even.the
8840 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 00 23 20 20 20 20 54 68 69 73 20 70 .implied.warranty.of.#....This.p
8860 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 rogram.is.distributed.in.the.hop
8880 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 00 23 00 23 20 20 20 e.that.it.will.be.useful,.#.#...
88a0 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 .(at.your.option).any.later.vers
88c0 69 6f 6e 2e 00 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e ion..#....the.Free.Software.Foun
88e0 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 dation;.either.version.2.of.the.
8900 4c 69 63 65 6e 73 65 2c 20 6f 72 00 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 License,.or.#....it.under.the.te
8920 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 rms.of.the.GNU.General.Public.Li
8940 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 00 23 20 20 20 20 54 68 69 73 20 cense.as.published.by.#....This.
8960 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 program.is.free.software;.you.ca
8980 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 00 n.redistribute.it.and/or.modify.
89a0 23 20 20 20 20 00 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 #.....#....Copyright.(C).2006.by
89c0 20 4e 65 69 6c 20 46 69 73 68 65 72 00 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 65 62 6d 69 6e .Neil.Fisher.#....DNSMasq.Webmin
89e0 20 4d 6f 64 75 6c 65 20 20 20 20 20 20 00 23 00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 00 .Module.......#.#!/usr/bin/perl.
8a00 64 6e 73 6d 61 73 71 2f 73 72 76 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/srv_edit.cgi............
8a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8a60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
8a80 30 30 30 34 35 30 33 00 31 30 35 31 32 33 32 33 36 34 33 00 30 31 33 35 33 31 00 20 30 00 00 00 0004503.10512323643.013531..0...
8aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
8b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
8b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
8c20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 64 6e 73 5f 65 64 69 74 2e 63 67 69 3b 20 20 75 70 ebmin.Module.-.dns_edit.cgi;..up
8c40 73 74 72 65 61 6d 20 73 65 72 76 65 72 20 65 64 69 74 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 stream.server.edit.#....Copyrigh
8c60 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a t.(C).2006.by.Neil.Fisher.#.....
8c80 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 #....This.program.is.free.softwa
8ca0 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f re;.you.can.redistribute.it.and/
8cc0 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d or.modify.#....it.under.the.term
8ce0 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 s.of.the.GNU.General.Public.Lice
8d00 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 nse.as.published.by.#....the.Fre
8d20 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 e.Software.Foundation;.either.ve
8d40 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 rsion.2.of.the.License,.or.#....
8d60 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 (at.your.option).any.later.versi
8d80 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 on..#.#....This.program.is.distr
8da0 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 ibuted.in.the.hope.that.it.will.
8dc0 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 be.useful,.#....but.WITHOUT.ANY.
8de0 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 WARRANTY;.without.even.the.impli
8e00 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c ed.warranty.of.#....MERCHANTABIL
8e20 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
8e40 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 PURPOSE...See.the.#....GNU.Gener
8e60 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 al.Public.License.for.more.detai
8e80 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 ls..#.#....This.module.inherited
8ea0 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 .from.the.Webmin.Module.Template
8ec0 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c .0.79.1.by.tn..do.'../web-lib.pl
8ee0 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 ';.do.'../ui-lib.pl';.do.'dnsmas
8f00 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 q-lib.pl';..$|=1;.&init_config("
8f20 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f DNSMasq");..%access=&get_module_
8f40 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 acl;..##.put.in.ACL.checks.here.
8f60 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 if.needed...##.sanity.checks...#
8f80 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 #.Insert.Output.code.here.#.read
8fa0 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 .config.file.$config_file.=.&rea
8fc0 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c d_file_lines(.$config{config_fil
8fe0 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 e}.);.#.pass.into.data.structure
9000 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c .&parse_config_file(.\%config,.\
9020 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 $config_file.);.#.read.posted.da
9040 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 ta.&ReadParse();.#.check.for.err
9060 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 ors.in.read.config.if(.$config{e
9080 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 rrors}.>.0.).{..&header(."DNSMas
90a0 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 72 3e 3c q.settings",."".);..print."<hr><
90c0 68 32 3e 22 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 73 7d 3b h2>";..print.$text{warn_errors};
90e0 0a 09 70 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 ..print.$config{errors};..print.
9100 24 74 65 78 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c 2f 68 33 $text{didnt_apply};..print."</h3
9120 3e 3c 68 72 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 ><hr>\n";..&footer(."/",.$text{'
9140 69 6e 64 65 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 index'});..exit;.}.#.adjust.ever
9160 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 64 65 72 28 ything.to.what.we.got.#.&header(
9180 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 ."DNSMasq.settings",."".);.print
91a0 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 73 72 76 5f 65 64 69 74 7d 2e 22 3c 2f 68 32 3e 22 3b ."<h2>".$text{srv_edit}."</h2>";
91c0 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 73 72 76 5f 65 64 69 74 .print.&ui_form_start(."srv_edit
91e0 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 6e 74 20 26 75 69 _apply.cgi",."post".);.print.&ui
9200 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 78 7d 20 29 3b 0a 70 72 69 6e _hidden(."idx",.$in{idx}.);.prin
9220 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f 79 65 73 6e 6f t."<br>".$text{in_use}.&ui_yesno
9240 5f 72 61 64 69 6f 28 20 22 75 73 65 64 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 69 67 7b 73 65 72 _radio(."used",.....($config{ser
9260 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 vers}[$in{idx}]{used})?1:0.);.pr
9280 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 73 72 76 5f 6e 61 6d 65 64 7d 2e 26 75 69 5f int."<br>".$text{srv_named}.&ui_
92a0 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 6e 61 6d 65 64 22 2c 20 0a 09 09 09 09 28 24 63 6f 6e yesno_radio(."named",......($con
92c0 66 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 64 6f 6d 61 69 6e 5f 75 73 fig{servers}[$in{idx}]{domain_us
92e0 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 73 ed})?1:0.);.print."<br>".$text{s
9300 72 76 5f 6e 61 6d 65 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 6e 61 rv_name};.print.&ui_textbox(."na
9320 6d 65 22 2c 20 24 63 6f 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b me",.$config{servers}[$in{idx}]{
9340 64 6f 6d 61 69 6e 7d 2c 20 35 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 domain},.50.);.print."<br>".$tex
9360 74 7b 73 72 76 5f 61 64 64 72 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 t{srv_addr};.print.&ui_textbox(.
9380 22 61 64 64 72 22 2c 20 24 63 6f 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 "addr",.$config{servers}[$in{idx
93a0 7d 5d 7b 61 64 64 72 65 73 73 7d 2c 20 31 38 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 }]{address},.18.);.print."<br><b
93c0 72 3e 22 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 r>"...&ui_submit(.$text{'save_bu
93e0 74 74 6f 6e 27 7d 20 29 2e 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f tton'}.)."<br>";.print.&ui_form_
9400 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 end();.print."<a.href=delete.cgi
9420 3f 69 64 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 26 77 68 61 74 3d 73 65 72 76 65 72 73 26 77 ?idx=".$in{idx}."&what=servers&w
9440 68 65 72 65 3d 73 65 72 76 65 72 73 2e 63 67 69 22 2e 0a 09 22 3e 22 2e 24 74 65 78 74 7b 64 65 here=servers.cgi"...">".$text{de
9460 6c 65 74 7d 2e 22 3c 2f 61 3e 22 3b 0a 23 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 64 6e 73 let}."</a>";.#print."<a.href=dns
9480 5f 64 65 6c 2e 63 67 69 3f 69 64 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 3e 22 2e 24 74 65 78 _del.cgi?idx=".$in{idx}.">".$tex
94a0 74 7b 64 65 6c 65 74 7d 2e 22 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 t{delet}."</a>";.print."<br><a.h
94c0 72 65 66 3d 73 65 72 76 65 72 73 2e 63 67 69 3e 22 2e 24 74 65 78 74 7b 73 65 72 76 65 72 73 5f ref=servers.cgi>".$text{servers_
94e0 63 6f 6e 66 69 67 7d 2e 22 3c 2f 61 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 config}."</a>";.&footer(."/",.$t
9500 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 ext{'index'});.#..#..#.sub-routi
9520 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 64 6e 73 5f 65 64 69 74 2e 63 67 69 20 23 23 nes.#.###.END.of.dns_edit.cgi.##
9540 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 #...............................
9560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
95e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9600 64 6e 73 6d 61 73 71 2f 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 00 00 00 00 00 00 00 00 00 00 dnsmasq/dnsmasq-lib.pl..........
9620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
9680 30 30 33 33 35 34 37 00 31 30 35 31 32 36 33 31 30 36 30 00 30 31 34 30 30 32 00 20 30 00 00 00 0033547.10512631060.014002..0...
96a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
96c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
96e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
9720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
9740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9800 23 0a 23 20 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 0a 23 0a 23 20 64 6e 73 6d 61 73 71 20 77 #.#.dnsmasq-lib.pl.#.#.dnsmasq.w
9820 65 62 6d 69 6e 20 6d 6f 64 75 6c 65 20 6c 69 62 72 61 72 79 20 6d 6f 64 75 6c 65 0a 23 0a 23 0a ebmin.module.library.module.#.#.
9840 23 20 74 68 65 20 63 6f 6e 66 69 67 20 68 61 73 68 20 68 6f 6c 64 73 20 74 68 65 20 70 61 72 73 #.the.config.hash.holds.the.pars
9860 65 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 23 20 0a 6d 79 20 25 63 6f 6e 66 69 67 20 3d 20 7b ed.config.file.#..my.%config.=.{
9880 0a 09 09 65 72 72 6f 72 73 20 3d 3e 20 30 2c 0a 09 09 6d 78 5f 68 6f 73 74 20 3d 3e 20 7b 20 75 ...errors.=>.0,...mx_host.=>.{.u
98a0 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 2c 20 68 6f 73 74 20 3d 3e 20 22 22 20 sed.=>.0,.line.=>.0,.host.=>."".
98c0 7d 2c 0a 09 09 6d 78 5f 74 61 72 67 65 74 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c },...mx_target.=>.{.used.=>.0,.l
98e0 69 6e 65 20 3d 3e 20 30 2c 20 68 6f 73 74 20 3d 3e 20 22 22 20 7d 2c 0a 09 09 73 65 6c 66 6d 78 ine.=>.0,.host.=>."".},...selfmx
9900 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 20 7d 2c 0a 09 09 .=>.{.used.=>.0,.line.=>.0.},...
9920 6c 6f 63 61 6c 6d 78 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 localmx.=>.{.used.=>.0,.line.=>.
9940 30 20 7d 2c 09 0a 09 09 64 6f 6d 61 69 6e 5f 6e 65 65 64 65 64 20 3d 3e 20 7b 20 6c 69 6e 65 20 0.},....domain_needed.=>.{.line.
9960 3d 3e 20 30 2c 20 75 73 65 64 20 3d 3e 20 30 20 7d 2c 0a 09 09 62 6f 67 75 73 5f 70 72 69 76 20 =>.0,.used.=>.0.},...bogus_priv.
9980 3d 3e 20 7b 20 6c 69 6e 65 20 3d 3e 30 2c 20 75 73 65 64 20 3d 3e 20 30 20 7d 2c 0a 09 09 66 69 =>.{.line.=>0,.used.=>.0.},...fi
99a0 6c 74 65 72 77 69 6e 32 6b 20 3d 3e 20 7b 20 6c 69 6e 65 20 3d 3e 20 30 2c 20 75 73 65 64 20 3d lterwin2k.=>.{.line.=>.0,.used.=
99c0 3e 20 30 20 7d 2c 0a 09 09 72 65 73 6f 6c 76 5f 66 69 6c 65 20 3d 3e 20 7b 20 6c 69 6e 65 20 3d >.0.},...resolv_file.=>.{.line.=
99e0 3e 20 30 2c 20 75 73 65 64 20 3d 3e 20 30 2c 09 09 09 09 0a 09 09 09 09 66 69 6c 65 6e 61 6d 65 >.0,.used.=>.0,.........filename
9a00 20 3d 3e 20 22 2f 65 74 63 2f 68 6f 73 74 73 22 0a 09 09 09 20 20 20 20 20 20 20 7d 2c 0a 09 09 .=>."/etc/hosts"...........},...
9a20 73 74 72 69 63 74 5f 6f 72 64 65 72 20 3d 3e 20 7b 20 6c 69 6e 65 20 3d 3e 20 30 2c 20 75 73 65 strict_order.=>.{.line.=>.0,.use
9a40 64 20 3d 3e 20 30 20 7d 2c 0a 09 09 6e 6f 5f 72 65 73 6f 6c 76 20 3d 3e 20 7b 20 6c 69 6e 65 20 d.=>.0.},...no_resolv.=>.{.line.
9a60 3d 3e 20 30 2c 20 75 73 65 64 20 3d 3e 20 30 20 7d 2c 0a 09 09 6e 6f 5f 70 6f 6c 6c 20 3d 3e 20 =>.0,.used.=>.0.},...no_poll.=>.
9a80 7b 20 6c 69 6e 65 20 3d 3e 20 30 2c 20 75 73 65 64 20 3d 3e 20 30 20 7d 2c 0a 09 09 73 65 72 76 {.line.=>.0,.used.=>.0.},...serv
9aa0 65 72 73 20 3d 3e 20 5b 5d 2c 0a 09 09 6c 6f 63 61 6c 73 20 3d 3e 20 5b 5d 2c 0a 09 09 66 6f 72 ers.=>.[],...locals.=>.[],...for
9ac0 63 65 64 20 3d 3e 20 5b 5d 2c 0a 09 09 62 6f 67 75 73 20 3d 3e 20 5b 5d 2c 0a 09 09 75 73 65 72 ced.=>.[],...bogus.=>.[],...user
9ae0 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 75 73 65 72 20 3d 3e 22 22 20 7d 2c 0a 09 09 .=>.{.used.=>.0,.user.=>"".},...
9b00 67 72 6f 75 70 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 67 72 6f 75 70 20 3d 3e 20 22 group.=>.{.used.=>.0,.group.=>."
9b20 22 20 7d 2c 0a 09 09 69 6e 74 65 72 66 61 63 65 20 3d 3e 20 20 5b 5d 2c 0a 09 09 65 78 5f 69 6e ".},...interface.=>..[],...ex_in
9b40 74 65 72 66 61 63 65 20 3d 3e 20 20 5b 5d 2c 0a 09 09 6c 69 73 74 65 6e 5f 6f 6e 20 3d 3e 20 09 terface.=>..[],...listen_on.=>..
9b60 5b 5d 2c 0a 09 09 61 6c 69 61 73 20 3d 3e 20 5b 5d 2c 0a 09 09 62 69 6e 64 5f 69 6e 74 65 72 66 [],...alias.=>.[],...bind_interf
9b80 61 63 65 73 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 20 7d aces.=>.{.used.=>.0,.line.=>.0.}
9ba0 2c 0a 09 09 6e 6f 5f 68 6f 73 74 73 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e ,...no_hosts.=>.{.used.=>.0,.lin
9bc0 65 20 3d 3e 20 30 20 7d 2c 0a 09 09 61 64 64 6e 5f 68 6f 73 74 73 20 3d 3e 20 7b 20 75 73 65 64 e.=>.0.},...addn_hosts.=>.{.used
9be0 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 2c 20 66 69 6c 65 20 3d 3e 20 22 22 20 7d 2c 0a .=>.0,.line.=>.0,.file.=>."".},.
9c00 09 09 65 78 70 61 6e 64 5f 68 6f 73 74 73 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c ..expand_hosts.=>.{.used.=>.0,.l
9c20 69 6e 65 20 3d 3e 20 30 20 7d 2c 0a 20 09 09 64 6f 6d 61 69 6e 20 3d 3e 20 7b 20 75 73 65 64 20 ine.=>.0.},....domain.=>.{.used.
9c40 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 2c 20 64 6f 6d 61 69 6e 20 3d 3e 20 22 22 20 7d 2c =>.0,.line.=>.0,.domain.=>."".},
9c60 0a 09 09 63 61 63 68 65 5f 73 69 7a 65 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 ...cache_size.=>.{.used.=>.0,.li
9c80 6e 65 20 3d 3e 30 2c 20 73 69 7a 65 20 3d 3e 20 30 20 7d 2c 0a 09 09 6e 65 67 5f 63 61 63 68 65 ne.=>0,.size.=>.0.},...neg_cache
9ca0 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 20 7d 2c 0a 09 09 .=>.{.used.=>.0,.line.=>.0.},...
9cc0 6c 6f 63 61 6c 5f 74 74 6c 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d local_ttl.=>.{.used.=>.0,.line.=
9ce0 3e 20 30 2c 20 74 74 6c 20 3d 3e 20 30 20 7d 2c 0a 09 09 6c 6f 67 5f 71 75 65 72 69 65 73 20 3d >.0,.ttl.=>.0.},...log_queries.=
9d00 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 20 7d 2c 09 0a 09 09 64 >.{.used.=>.0,.line.=>.0.},....d
9d20 68 63 70 5f 72 61 6e 67 65 20 3d 3e 20 5b 5d 2c 0a 09 09 64 68 63 70 5f 68 6f 73 74 20 3d 3e 20 hcp_range.=>.[],...dhcp_host.=>.
9d40 5b 5d 2c 0a 09 09 76 65 6e 64 6f 72 5f 63 6c 61 73 73 20 3d 3e 20 5b 5d 2c 0a 09 09 75 73 65 72 [],...vendor_class.=>.[],...user
9d60 5f 63 6c 61 73 73 20 3d 3e 20 5b 5d 2c 0a 09 09 64 68 63 70 5f 6f 70 74 69 6f 6e 20 3d 3e 20 5b _class.=>.[],...dhcp_option.=>.[
9d80 5d 2c 0a 09 09 64 68 63 70 5f 62 6f 6f 74 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c ],...dhcp_boot.=>.{.used.=>.0,.l
9da0 69 6e 65 20 3d 3e 20 30 2c 20 66 69 6c 65 20 3d 3e 20 22 22 2c 0a 09 09 09 09 68 6f 73 74 20 3d ine.=>.0,.file.=>."",.....host.=
9dc0 3e 20 22 22 2c 20 61 64 64 72 65 73 73 20 3d 3e 20 22 22 20 7d 2c 0a 09 09 64 68 63 70 5f 6c 65 >."",.address.=>."".},...dhcp_le
9de0 61 73 65 6d 61 78 20 3d 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 asemax.=>.{.used.=>.0,.line.=>.0
9e00 2c 20 6d 61 78 20 3d 3e 20 30 20 7d 2c 0a 09 09 64 68 63 70 5f 6c 65 61 73 65 66 69 6c 65 20 3d ,.max.=>.0.},...dhcp_leasefile.=
9e20 3e 20 7b 20 75 73 65 64 20 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 2c 20 66 69 6c 65 20 3d >.{.used.=>.0,.line.=>.0,.file.=
9e40 3e 20 22 22 20 7d 2c 0a 09 09 64 68 63 70 5f 65 74 68 65 72 73 20 3d 3e 20 7b 20 75 73 65 64 20 >."".},...dhcp_ethers.=>.{.used.
9e60 3d 3e 20 30 2c 20 6c 69 6e 65 20 3d 3e 20 30 20 7d 0a 09 20 20 20 20 20 7d 3b 0a 23 0a 23 20 70 =>.0,.line.=>.0.}.......};.#.#.p
9e80 61 72 73 65 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 66 69 6c 65 20 61 6e 64 20 arse.the.configuration.file.and.
9ea0 70 6f 70 75 6c 61 74 65 20 74 68 65 20 25 63 6f 6e 66 69 67 20 73 74 72 75 63 74 75 72 65 0a 23 populate.the.%config.structure.#
9ec0 20 0a 73 75 62 20 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 0a 7b 0a 09 0a 6d 79 20 24 ..sub.parse_config_file.{...my.$
9ee0 6c 69 6e 65 6e 6f 3b 0a 6d 79 20 24 63 6f 6e 66 69 67 20 3d 20 73 68 69 66 74 3b 0a 6d 79 20 24 lineno;.my.$config.=.shift;.my.$
9f00 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 73 68 69 66 74 3b 0a 24 49 50 41 44 44 52 20 3d 20 22 config_file.=.shift;.$IPADDR.=."
9f20 5b 30 2d 39 5d 7b 31 2c 33 7d 5c 2e 5b 30 2d 39 5d 7b 31 2c 33 7d 5c 2e 5b 30 2d 39 5d 7b 31 2c [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,
9f40 33 7d 5c 2e 5b 30 2d 39 5d 7b 31 2c 33 7d 22 3b 0a 24 4e 41 4d 45 20 3d 20 22 5b 61 2d 7a 41 2d 3}\.[0-9]{1,3}";.$NAME.=."[a-zA-
9f60 5a 5c 5f 5c 2e 5d 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 5f 5c 2e 5d 2a 22 3b 0a 24 54 49 4d 45 20 3d Z\_\.][0-9a-zA-Z\_\.]*";.$TIME.=
9f80 20 22 5b 30 2d 39 7d 2b 5b 68 7c 6d 5d 2a 22 3b 0a 24 46 49 4c 45 20 3d 20 22 5b 30 2d 39 61 2d ."[0-9}+[h|m]*";.$FILE.=."[0-9a-
9fa0 7a 41 2d 5a 5c 5f 5c 2d 5c 2e 5c 2f 5d 2b 22 3b 0a 24 4e 55 4d 42 45 52 3d 22 5b 30 2d 39 5d 2b zA-Z\_\-\.\/]+";.$NUMBER="[0-9]+
9fc0 22 3b 0a 0a 24 6c 69 6e 65 6e 6f 3d 2d 31 3b 0a 66 6f 72 65 61 63 68 20 6d 79 20 24 6c 69 6e 65 ";..$lineno=-1;.foreach.my.$line
9fe0 20 28 40 24 24 63 6f 6e 66 69 67 5f 66 69 6c 65 29 0a 7b 0a 09 6d 79 20 24 73 75 62 6c 69 6e 65 .(@$$config_file).{..my.$subline
a000 3b 0a 09 6d 79 20 25 74 65 6d 70 3b 0a 09 0a 09 24 6c 69 6e 65 6e 6f 2b 2b 3b 0a 09 69 66 20 28 ;..my.%temp;....$lineno++;..if.(
a020 64 65 66 69 6e 65 64 20 28 24 6c 69 6e 65 29 29 0a 09 7b 0a 09 09 23 0a 09 09 23 20 77 65 20 61 defined.($line))..{...#...#.we.a
a040 6c 77 61 79 73 20 75 73 65 20 72 65 67 65 78 70 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 0a lways.use.regexp.starting.with..
a060 09 09 23 20 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 0a 09 09 23 20 62 65 63 61 75 73 65 20 74 68 61 74 ..#.^[\#]*[\s]*...#.because.that
a080 20 61 6c 6c 6f 77 73 20 66 6f 72 20 61 20 63 6f 6d 6d 65 6e 74 65 64 20 6f 75 74 20 6c 69 6e 65 .allows.for.a.commented.out.line
a0a0 20 77 69 74 68 0a 09 09 23 20 20 70 6f 73 73 69 62 6c 79 20 73 70 61 63 65 28 73 29 20 62 65 74 .with...#..possibly.space(s).bet
a0c0 77 65 65 6e 20 74 68 65 20 63 6f 6d 6d 65 6e 74 20 6d 61 72 6b 65 72 20 61 6e 64 20 6b 65 79 77 ween.the.comment.marker.and.keyw
a0e0 6f 72 64 0a 09 09 23 20 77 68 69 6c 65 20 72 65 6a 65 63 74 69 6e 67 20 61 6e 79 20 63 6f 6d 6d ord...#.while.rejecting.any.comm
a100 65 6e 74 73 20 74 68 61 74 20 63 61 72 72 79 20 6f 75 72 20 6b 65 79 77 6f 72 64 0a 09 09 23 0a ents.that.carry.our.keyword...#.
a120 09 09 23 20 72 65 6a 65 63 74 20 6c 69 6e 65 73 20 62 6c 61 6e 6b 20 61 74 20 73 74 61 72 74 21 ..#.reject.lines.blank.at.start!
a140 0a 09 09 6e 65 78 74 20 69 66 20 28 24 6c 69 6e 65 20 21 7e 20 2f 5e 5b 30 2d 39 61 2d 7a 41 2d ...next.if.($line.!~./^[0-9a-zA-
a160 5a 5c 5f 5c 2d 5c 23 5d 2f 29 3b 0a 09 09 23 20 4d 58 20 72 65 63 6f 72 64 73 20 73 65 72 76 65 Z\_\-\#]/);...#.MX.records.serve
a180 72 3f 0a 09 09 69 66 20 28 20 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a r?...if.(.$line.=~./(^[\#]*[\s]*
a1a0 6d 78 2d 68 6f 73 74 29 5c 3d 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e 5c 2d 5d 2a 29 2f 20 29 0a mx-host)\=([0-9a-zA-Z\.\-]*)/.).
a1c0 09 09 7b 0a 09 09 7d 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 ..{...}...elsif.($line.=~./(^[\#
a1e0 5d 2a 5b 5c 73 5d 2a 6d 78 2d 74 61 72 67 65 74 29 5c 3d 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e ]*[\s]*mx-target)\=([0-9a-zA-Z\.
a200 5c 2d 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 7d 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 \-]*)/.)...{...}...elsif.($line.
a220 3d 7e 20 2f 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 73 65 6c 66 6d 78 2f 20 29 0a 09 09 7b 0a 09 09 09 =~./^[\#]*[\s]*selfmx/.)...{....
a240 24 24 63 6f 6e 66 69 67 7b 73 65 6c 66 6d 78 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a $$config{selfmx}{line}=$lineno;.
a260 09 09 09 24 24 63 6f 6e 66 69 67 7b 73 65 6c 66 6d 78 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 ...$$config{selfmx}{used}=($line
a280 20 21 7e 20 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d .!~./^\#/);...}...elsif.($line.=
a2a0 7e 20 2f 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 6c 6f 63 61 6c 6d 78 2f 20 29 0a 09 09 7b 0a 09 09 09 ~./^[\#]*[\s]*localmx/.)...{....
a2c0 24 24 63 6f 6e 66 69 67 7b 6c 6f 63 61 6c 6d 78 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b $$config{localmx}{line}=$lineno;
a2e0 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 6c 6f 63 61 6c 6d 78 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 ....$$config{localmx}{used}=($li
a300 6e 65 20 21 7e 20 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 23 20 66 6f 72 77 61 72 64 20 6e 61 ne.!~./^\#/);...}...#.forward.na
a320 6d 65 73 20 77 69 74 6f 75 74 20 61 20 64 6f 6d 61 69 6e 3f 0a 09 09 65 6c 73 69 66 20 28 24 6c mes.witout.a.domain?...elsif.($l
a340 69 6e 65 20 3d 7e 20 2f 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 64 6f 6d 61 69 6e 2d 6e 65 65 64 65 64 ine.=~./^[\#]*[\s]*domain-needed
a360 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 6f 6d 61 69 6e 5f 6e 65 65 64 65 /.)...{....$$config{domain_neede
a380 64 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 24 24 63 6f d}{used}=($line!~/^\#/);....$$co
a3a0 6e 66 69 67 7b 64 6f 6d 61 69 6e 5f 6e 65 65 64 65 64 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e nfig{domain_needed}{line}=$linen
a3c0 6f 3b 0a 09 09 7d 0a 09 09 23 66 6f 72 77 61 72 64 20 6e 61 6d 65 73 20 69 6e 20 6e 6f 6e 72 6f o;...}...#forward.names.in.nonro
a3e0 75 74 65 64 20 61 64 64 72 65 73 73 20 73 70 61 63 65 3f 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 uted.address.space?...elsif.($li
a400 6e 65 20 3d 7e 20 2f 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 62 6f 67 75 73 2d 70 72 69 76 2f 20 29 0a ne.=~./^[\#]*[\s]*bogus-priv/.).
a420 09 09 7b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 62 6f 67 75 73 5f 70 72 69 76 7d 7b 75 73 65 64 ..{....$$config{bogus_priv}{used
a440 7d 3d 28 24 6c 69 6e 65 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 62 6f }=($line!~/^\#/);....$$config{bo
a460 67 75 73 5f 70 72 69 76 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 7d 0a 09 09 23 gus_priv}{line}=$lineno;...}...#
a480 20 66 69 6c 74 65 72 20 77 69 6e 64 6f 77 73 20 77 69 65 72 64 6f 20 6e 61 6d 65 73 3f 0a 09 09 .filter.windows.wierdo.names?...
a4a0 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 66 69 6c 74 elsif.($line.=~./^[\#]*[\s]*filt
a4c0 65 72 77 69 6e 32 6b 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 66 69 6c 74 65 erwin2k/.)...{....$$config{filte
a4e0 72 77 69 6e 32 6b 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 rwin2k}{used}=($line!~/^\#/);...
a500 09 24 24 63 6f 6e 66 69 67 7b 66 69 6c 74 65 72 77 69 6e 32 6b 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 .$$config{filterwin2k}{line}=$li
a520 6e 65 6e 6f 3b 0a 09 09 7d 0a 09 09 23 20 72 65 73 6f 6c 76 2e 63 6f 6e 66 20 66 69 6c 65 0a 09 neno;...}...#.resolv.conf.file..
a540 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 72 65 .elsif.($line.=~./(^[\#]*[\s]*re
a560 73 6f 6c 76 2d 66 69 6c 65 5c 3d 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2f 5c 2e 5c 2d 5d 2a 29 solv-file\=)([0-9a-zA-Z\/\.\-]*)
a580 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 72 65 73 6f 6c 76 5f 66 69 6c 65 7d /.)...{....$$config{resolv_file}
a5a0 7b 66 69 6c 65 6e 61 6d 65 7d 3d 24 32 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 72 65 73 6f 6c {filename}=$2;....$$config{resol
a5c0 76 5f 66 69 6c 65 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 24 24 63 6f 6e 66 v_file}{line}=$lineno;....$$conf
a5e0 69 67 7b 72 65 73 6f 6c 76 5f 66 69 6c 65 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 21 7e 2f 5e ig{resolv_file}{used}=($line!~/^
a600 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 23 20 61 6e 79 20 72 65 73 6f 6c 76 2e 63 6f 6e 66 20 66 69 \#/);...}...#.any.resolv.conf.fi
a620 6c 65 20 61 74 20 61 6c 6c 3f 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 5e 5b le.at.all?...elsif.($line.=~./^[
a640 5c 23 5d 2a 5b 5c 73 5d 2a 6e 6f 2d 72 65 73 6f 6c 76 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 63 \#]*[\s]*no-resolv/.)...{....$$c
a660 6f 6e 66 69 67 7b 6e 6f 5f 72 65 73 6f 6c 76 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 21 7e 2f onfig{no_resolv}{used}=($line!~/
a680 5e 5c 23 2f 29 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 6e 6f 5f 72 65 73 6f 6c 76 7d 7b 6c 69 ^\#/);....$$config{no_resolv}{li
a6a0 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 7d 0a 09 09 23 20 75 70 73 74 72 65 61 6d 20 73 65 ne}=$lineno;...}...#.upstream.se
a6c0 72 76 65 72 73 20 69 6e 20 6f 72 64 65 72 3f 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d rvers.in.order?...elsif.($line.=
a6e0 7e 20 2f 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 73 74 72 69 63 74 2d 6f 72 64 65 72 2f 20 29 0a 09 09 ~./^[\#]*[\s]*strict-order/.)...
a700 7b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 73 74 72 69 63 74 5f 6f 72 64 65 72 7d 7b 75 73 65 64 {....$$config{strict_order}{used
a720 7d 3d 28 24 6c 69 6e 65 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 73 74 }=($line!~/^\#/);....$$config{st
a740 72 69 63 74 5f 6f 72 64 65 72 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 7d 0a 09 rict_order}{line}=$lineno;...}..
a760 09 23 20 63 68 65 63 6b 20 72 65 73 6f 6c 76 2e 20 63 6f 6e 66 20 72 65 67 75 6c 61 72 6c 79 3f .#.check.resolv..conf.regularly?
a780 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 6e ...elsif.($line.=~./^[\#]*[\s]*n
a7a0 6f 2d 70 6f 6c 6c 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 6e 6f 5f 70 6f 6c o-poll/.)...{....$$config{no_pol
a7c0 6c 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 24 24 63 6f l}{used}=($line!~/^\#/);....$$co
a7e0 6e 66 69 67 7b 6e 6f 5f 70 6f 6c 6c 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 7d nfig{no_poll}{line}=$lineno;...}
a800 0a 09 09 23 20 65 78 74 72 61 20 6e 61 6d 65 20 73 65 72 76 65 72 73 3f 0a 09 09 65 6c 73 69 66 ...#.extra.name.servers?...elsif
a820 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 73 65 72 76 65 72 5c 3d .($line.=~./(^[\#]*[\s]*server\=
a840 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e 5c 2d 5c 2f 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 )([0-9a-zA-Z\.\-\/]*)/.)...{....
a860 24 73 75 62 6c 69 6e 65 3d 24 32 3b 0a 09 09 09 25 74 65 6d 70 20 3d 20 7b 7d 3b 0a 09 09 09 69 $subline=$2;....%temp.=.{};....i
a880 66 28 20 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 5c 2f 28 24 4e 41 4d 45 29 5c 2f 28 24 49 50 41 f(.$subline.=~./\/($NAME)\/($IPA
a8a0 44 44 52 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 24 74 65 6d 70 7b 64 6f 6d 61 69 6e 7d 3d 24 DDR)/.)....{.....$temp{domain}=$
a8c0 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 64 6f 6d 61 69 6e 5f 75 73 65 64 7d 3d 31 3b 0a 09 09 09 1;.....$temp{domain_used}=1;....
a8e0 09 24 74 65 6d 70 7b 61 64 64 72 65 73 73 7d 3d 24 32 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 69 .$temp{address}=$2;.....$temp{li
a900 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 20 28 24 ne}=$lineno;.....$temp{used}=.($
a920 6c 69 6e 65 20 21 7e 20 2f 5e 5c 23 2f 29 3b 0a 09 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f line.!~./^\#/);.....push.@{.$$co
a940 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 09 7d nfig{servers}.},.{.%temp.};....}
a960 0a 09 09 09 65 6c 73 69 66 28 20 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 28 24 49 50 41 44 44 52 ....elsif(.$subline.=~./($IPADDR
a980 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 24 74 65 6d 70 7b 64 6f 6d 61 69 6e 7d 3d 22 22 3b 0a )/.)....{.....$temp{domain}="";.
a9a0 09 09 09 09 24 74 65 6d 70 7b 64 6f 6d 61 69 6e 5f 75 73 65 64 7d 3d 30 3b 0a 09 09 09 09 24 74 ....$temp{domain_used}=0;.....$t
a9c0 65 6d 70 7b 61 64 64 72 65 73 73 7d 3d 24 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 69 6e 65 7d emp{address}=$1;.....$temp{line}
a9e0 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 20 28 24 6c 69 6e =$lineno;.....$temp{used}=.($lin
aa00 65 20 21 7e 20 2f 5e 5c 23 2f 29 3b 0a 09 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 e.!~./^\#/);.....push.@{.$$confi
aa20 67 7b 73 65 72 76 65 72 73 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 g{servers}.},.{.%temp.};....}...
aa40 09 65 6c 73 65 0a 09 09 09 7b 0a 09 09 09 09 70 72 69 6e 74 20 22 45 72 72 6f 72 20 69 6e 20 6c .else....{.....print."Error.in.l
aa60 69 6e 65 20 24 6c 69 6e 65 6e 6f 21 22 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 65 72 72 6f ine.$lineno!";.....$$config{erro
aa80 72 73 7d 2b 2b 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 23 20 6c 6f 63 61 6c 2d 6f 6e 6c 79 20 64 rs}++;....}...}...#.local-only.d
aaa0 6f 6d 61 69 6e 73 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d omains...elsif.($line.=~./(^[\#]
aac0 2a 5b 5c 73 5d 2a 6c 6f 63 61 6c 5c 3d 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e 5c 2d 5c 2f 5d *[\s]*local\=)([0-9a-zA-Z\.\-\/]
aae0 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 24 73 75 62 6c 69 6e 65 3d 24 32 3b 0a 09 09 09 25 74 65 *)/.)...{....$subline=$2;....%te
ab00 6d 70 3d 7b 7d 3b 0a 09 09 09 69 66 28 20 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 5c 2f 28 24 4e mp={};....if(.$subline.=~./\/($N
ab20 41 4d 45 29 5c 2f 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 24 74 65 6d 70 7b 64 6f 6d 61 69 6e 7d AME)\//.)....{.....$temp{domain}
ab40 3d 24 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 69 6e 65 6e 6f 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a =$1;.....$temp{lineno}=$lineno;.
ab60 09 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 20 21 7e 20 2f 5e 5c 23 2f 29 ....$temp{used}=($line.!~./^\#/)
ab80 3b 0a 09 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 6c 6f 63 61 6c 73 7d 20 7d ;.....push.@{.$$config{locals}.}
aba0 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 65 0a 09 09 09 7b 0a 09 ,.{.%temp.};....}....else....{..
abc0 09 09 09 70 72 69 6e 74 20 22 45 72 72 6f 72 20 69 6e 20 6c 69 6e 65 20 24 6c 69 6e 65 6e 6f 21 ...print."Error.in.line.$lineno!
abe0 22 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 2b 2b 3b 0a 09 09 09 7d 0a ";.....$$config{errors}++;....}.
ac00 09 09 7d 0a 09 09 23 20 66 6f 72 63 65 20 6c 6f 6f 6b 75 70 73 20 74 6f 20 61 64 64 72 65 73 73 ..}...#.force.lookups.to.address
ac20 65 73 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 es...elsif.($line.=~./(^[\#]*[\s
ac40 5d 2a 61 64 64 72 65 73 73 5c 3d 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e 5c 2d 5c 2f 5d 2a 29 ]*address\=)([0-9a-zA-Z\.\-\/]*)
ac60 2f 20 29 0a 09 09 7b 0a 09 09 09 24 73 75 62 6c 69 6e 65 3d 24 32 3b 0a 09 09 09 25 74 65 6d 70 /.)...{....$subline=$2;....%temp
ac80 20 3d 20 7b 7d 3b 0a 09 09 09 69 66 28 20 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 5c 2f 28 24 4e .=.{};....if(.$subline.=~./\/($N
aca0 41 4d 45 29 5c 2f 28 24 49 50 41 44 44 52 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 24 74 65 6d AME)\/($IPADDR)/.)....{.....$tem
acc0 70 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 09 24 74 65 6d 70 7b 64 6f 6d 61 69 p{line}=$lineno;.....$temp{domai
ace0 6e 7d 3d 24 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 61 64 64 72 7d 3d 24 32 3b 0a 09 09 09 09 24 n}=$1;.....$temp{addr}=$2;.....$
ad00 74 65 6d 70 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 20 21 7e 20 2f 5e 5c 23 2f 29 3b 0a 09 09 09 temp{used}=($line.!~./^\#/);....
ad20 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 66 6f 72 63 65 64 7d 20 7d 2c 20 7b 20 25 .push.@{.$$config{forced}.},.{.%
ad40 74 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 65 0a 09 09 09 7b 0a 09 09 09 09 70 72 temp.};....}....else....{.....pr
ad60 69 6e 74 20 22 45 72 72 6f 72 20 69 6e 20 6c 69 6e 65 20 24 6c 69 6e 65 6e 6f 21 22 3b 0a 09 09 int."Error.in.line.$lineno!";...
ad80 09 09 24 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 2b 2b 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 ..$$config{errors}++;....}...}..
ada0 09 23 20 64 65 70 72 65 63 61 74 65 64 20 2f 65 74 63 2f 70 70 70 2f 72 65 73 6f 6c 76 2e 63 6f .#.deprecated./etc/ppp/resolv.co
adc0 6e 66 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e nf.permissions...elsif.($line.=~
ade0 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 75 73 65 72 5c 3d 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a ./(^[\#]*[\s]*user\=)([0-9a-zA-Z
ae00 5c 2e 5c 2d 5c 2f 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 7d 0a 09 09 65 6c 73 69 66 20 28 24 6c \.\-\/]*)/.)...{...}...elsif.($l
ae20 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 67 72 6f 75 70 5c 3d 29 28 5b 30 2d ine.=~./(^[\#]*[\s]*group\=)([0-
ae40 39 61 2d 7a 41 2d 5a 5c 2e 5c 2d 5c 2f 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 7d 0a 09 09 23 20 9a-zA-Z\.\-\/]*)/.)...{...}...#.
ae60 77 68 65 72 65 20 61 6e 64 20 68 6f 77 20 64 6f 20 77 65 20 6c 69 73 74 65 6e 3f 0a 09 09 65 6c where.and.how.do.we.listen?...el
ae80 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 6c 69 73 74 65 sif.($line.=~./(^[\#]*[\s]*liste
aea0 6e 2d 61 64 64 72 65 73 73 5c 3d 29 28 5b 30 2d 39 5c 2e 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 n-address\=)([0-9\.]*)/.)...{...
aec0 09 24 73 75 62 6c 69 6e 65 3d 24 32 3b 0a 09 09 09 25 74 65 6d 70 20 3d 20 7b 7d 3b 0a 09 09 09 .$subline=$2;....%temp.=.{};....
aee0 69 66 28 20 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 28 24 49 50 41 44 44 52 29 2f 20 29 0a 09 09 if(.$subline.=~./($IPADDR)/.)...
af00 09 7b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 09 .{.....$temp{line}=$lineno;.....
af20 24 74 65 6d 70 7b 61 64 64 72 65 73 73 7d 3d 24 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 $temp{address}=$1;.....$temp{use
af40 64 7d 3d 20 28 24 6c 69 6e 65 20 21 7e 20 2f 5e 5c 23 2f 29 3b 0a 09 09 09 09 70 75 73 68 20 40 d}=.($line.!~./^\#/);.....push.@
af60 7b 20 24 24 63 6f 6e 66 69 67 7b 6c 69 73 74 65 6e 5f 6f 6e 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 {.$$config{listen_on}.},.{.%temp
af80 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 65 0a 09 09 09 7b 0a 09 09 09 09 70 72 69 6e 74 20 .};....}....else....{.....print.
afa0 22 45 72 72 6f 72 20 69 6e 20 6c 69 6e 65 20 24 6c 69 6e 65 6e 6f 21 22 3b 0a 09 09 09 09 24 24 "Error.in.line.$lineno!";.....$$
afc0 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 2b 2b 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 65 6c 73 config{errors}++;....}...}...els
afe0 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 65 78 63 65 70 74 if.($line.=~./(^[\#]*[\s]*except
b000 2d 69 6e 74 65 72 66 61 63 65 5c 3d 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e 5c 2d 5c 2f 5d 2a -interface\=)([0-9a-zA-Z\.\-\/]*
b020 29 2f 20 29 0a 09 09 7b 0a 09 09 09 24 73 75 62 6c 69 6e 65 3d 24 32 3b 0a 09 09 09 25 74 65 6d )/.)...{....$subline=$2;....%tem
b040 70 20 3d 20 7b 7d 3b 0a 09 09 09 69 66 28 20 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 28 24 4e 41 p.=.{};....if(.$subline.=~./($NA
b060 4d 45 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 69 6e 65 7d 3d 24 6c 69 6e ME)/.)....{.....$temp{line}=$lin
b080 65 6e 6f 3b 0a 09 09 09 09 24 74 65 6d 70 7b 69 66 61 63 65 7d 3d 24 31 3b 0a 09 09 09 09 24 74 eno;.....$temp{iface}=$1;.....$t
b0a0 65 6d 70 7b 75 73 65 64 7d 3d 20 28 24 6c 69 6e 65 20 21 7e 20 2f 5e 5c 23 2f 29 3b 0a 09 09 09 emp{used}=.($line.!~./^\#/);....
b0c0 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 65 78 5f 69 6e 74 65 72 66 61 63 65 7d 20 .push.@{.$$config{ex_interface}.
b0e0 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 65 0a 09 09 09 7b 0a },.{.%temp.};....}....else....{.
b100 09 09 09 09 70 72 69 6e 74 20 22 45 72 72 6f 72 20 69 6e 20 6c 69 6e 65 20 24 6c 69 6e 65 6e 6f ....print."Error.in.line.$lineno
b120 21 22 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 2b 2b 3b 0a 09 09 09 7d !";.....$$config{errors}++;....}
b140 0a 09 09 7d 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b ...}...elsif.($line.=~./(^[\#]*[
b160 5c 73 5d 2a 69 6e 74 65 72 66 61 63 65 5c 3d 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e 5c 2d 5c \s]*interface\=)([0-9a-zA-Z\.\-\
b180 2f 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 24 73 75 62 6c 69 6e 65 3d 24 32 3b 0a 09 09 09 25 /]*)/.)...{....$subline=$2;....%
b1a0 74 65 6d 70 20 3d 20 7b 7d 3b 0a 09 09 09 69 66 28 20 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 28 temp.=.{};....if(.$subline.=~./(
b1c0 24 4e 41 4d 45 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 69 6e 65 7d 3d 24 $NAME)/.)....{.....$temp{line}=$
b1e0 6c 69 6e 65 6e 6f 3b 0a 09 09 09 09 24 74 65 6d 70 7b 69 66 61 63 65 7d 3d 24 31 3b 0a 09 09 09 lineno;.....$temp{iface}=$1;....
b200 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 20 28 24 6c 69 6e 65 20 21 7e 20 2f 5e 5c 23 2f 29 3b 0a .$temp{used}=.($line.!~./^\#/);.
b220 09 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 69 6e 74 65 72 66 61 63 65 7d 20 ....push.@{.$$config{interface}.
b240 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 65 0a 09 09 09 7b 0a },.{.%temp.};....}....else....{.
b260 09 09 09 09 70 72 69 6e 74 20 22 45 72 72 6f 72 20 69 6e 20 6c 69 6e 65 20 24 6c 69 6e 65 6e 6f ....print."Error.in.line.$lineno
b280 21 22 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 2b 2b 3b 0a 09 09 09 7d !";.....$$config{errors}++;....}
b2a0 0a 09 09 7d 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 5e 5b 5c 23 5d 2a 5b 5c ...}...elsif.($line.=~./^[\#]*[\
b2c0 73 5d 2a 62 69 6e 64 2d 69 6e 74 65 72 66 61 63 65 73 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 63 s]*bind-interfaces/.)...{....$$c
b2e0 6f 6e 66 69 67 7b 62 69 6e 64 5f 69 6e 74 65 72 66 61 63 65 73 7d 7b 75 73 65 64 7d 3d 28 24 6c onfig{bind_interfaces}{used}=($l
b300 69 6e 65 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 62 69 6e 64 5f 69 6e ine!~/^\#/);....$$config{bind_in
b320 74 65 72 66 61 63 65 73 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 7d 0a 09 09 23 terfaces}{line}=$lineno;...}...#
b340 20 68 6f 73 74 73 20 66 69 6c 65 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 5e .hosts.file...elsif.($line.=~./^
b360 5b 5c 23 5d 2a 5b 5c 73 5d 2a 6e 6f 2d 68 6f 73 74 73 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 63 [\#]*[\s]*no-hosts/.)...{....$$c
b380 6f 6e 66 69 67 7b 6e 6f 5f 68 6f 73 74 73 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 21 7e 2f 5e onfig{no_hosts}{used}=($line!~/^
b3a0 5c 23 2f 29 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 6e 6f 5f 68 6f 73 74 73 7d 7b 6c 69 6e 65 \#/);....$$config{no_hosts}{line
b3c0 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 7d 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e }=$lineno;...}...elsif.($line.=~
b3e0 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 61 64 64 6e 2d 68 6f 73 74 73 5c 3d 29 28 5b 30 2d 39 ./(^[\#]*[\s]*addn-hosts\=)([0-9
b400 61 2d 7a 41 2d 5a 5c 5f 5c 2e 5c 2d 5c 2f 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 63 6f a-zA-Z\_\.\-\/]*)/.)...{....$$co
b420 6e 66 69 67 7b 61 64 64 6e 5f 68 6f 73 74 73 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a nfig{addn_hosts}{line}=$lineno;.
b440 09 09 09 24 24 63 6f 6e 66 69 67 7b 61 64 64 6e 5f 68 6f 73 74 73 7d 7b 66 69 6c 65 7d 3d 24 32 ...$$config{addn_hosts}{file}=$2
b460 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 61 64 64 6e 5f 68 6f 73 74 73 7d 7b 75 73 65 64 7d 3d ;....$$config{addn_hosts}{used}=
b480 28 24 6c 69 6e 65 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 23 20 61 64 64 20 64 6f 6d 61 ($line!~/^\#/);...}...#.add.doma
b4a0 69 6e 20 74 6f 20 68 6f 73 74 73 20 66 69 6c 65 3f 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 in.to.hosts.file?...elsif.($line
b4c0 20 3d 7e 20 2f 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 65 78 70 61 6e 64 2d 68 6f 73 74 73 2f 20 29 0a .=~./^[\#]*[\s]*expand-hosts/.).
b4e0 09 09 7b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 65 78 70 61 6e 64 5f 68 6f 73 74 73 7d 7b 75 73 ..{....$$config{expand_hosts}{us
b500 65 64 7d 3d 28 24 6c 69 6e 65 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b ed}=($line!~/^\#/);....$$config{
b520 65 78 70 61 6e 64 5f 68 6f 73 74 73 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 7d expand_hosts}{line}=$lineno;...}
b540 20 0a 09 09 23 20 74 72 61 6e 73 6c 61 74 65 20 77 69 6c 64 2d 63 61 72 64 20 72 65 73 70 6f 6e ....#.translate.wild-card.respon
b560 73 65 73 20 74 6f 20 4e 58 44 4f 4d 41 49 4e 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d ses.to.NXDOMAIN...elsif.($line.=
b580 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 62 6f 67 75 73 2d 6e 78 64 6f 6d 61 69 6e 5c 3d 29 ~./(^[\#]*[\s]*bogus-nxdomain\=)
b5a0 28 5b 30 2d 39 5c 2e 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 24 73 75 62 6c 69 6e 65 3d 24 32 ([0-9\.]*)/.)...{....$subline=$2
b5c0 3b 0a 09 09 09 25 74 65 6d 70 20 3d 20 7b 7d 3b 0a 09 09 09 69 66 28 20 24 73 75 62 6c 69 6e 65 ;....%temp.=.{};....if(.$subline
b5e0 20 3d 7e 20 2f 28 24 49 50 41 44 44 52 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 24 74 65 6d 70 .=~./($IPADDR)/.)....{.....$temp
b600 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 09 24 74 65 6d 70 7b 61 64 64 72 7d 3d {line}=$lineno;.....$temp{addr}=
b620 24 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 20 28 24 6c 69 6e 65 20 21 7e 20 2f $1;.....$temp{used}=.($line.!~./
b640 5e 5c 23 2f 29 3b 0a 09 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 62 6f 67 75 ^\#/);.....push.@{.$$config{bogu
b660 73 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 65 0a 09 09 s}.},.{.%temp.};....}....else...
b680 09 7b 0a 09 09 09 09 70 72 69 6e 74 20 22 45 72 72 6f 72 20 69 6e 20 6c 69 6e 65 20 24 6c 69 6e .{.....print."Error.in.line.$lin
b6a0 65 6e 6f 21 22 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 2b 2b 3b 0a 09 eno!";.....$$config{errors}++;..
b6c0 09 09 7d 0a 09 09 7d 0a 09 09 23 20 6c 6f 63 61 6c 20 64 6f 6d 61 69 6e 0a 09 09 65 6c 73 69 66 ..}...}...#.local.domain...elsif
b6e0 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 64 6f 6d 61 69 6e 5c 3d .($line.=~./(^[\#]*[\s]*domain\=
b700 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e 5c 2d 5c 2f 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 )([0-9a-zA-Z\.\-\/]*)/.)...{....
b720 24 24 63 6f 6e 66 69 67 7b 64 6f 6d 61 69 6e 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a $$config{domain}{line}=$lineno;.
b740 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 6f 6d 61 69 6e 7d 7b 64 6f 6d 61 69 6e 7d 3d 24 32 3b 0a ...$$config{domain}{domain}=$2;.
b760 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 6f 6d 61 69 6e 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 ...$$config{domain}{used}=($line
b780 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 23 20 63 61 63 68 65 20 73 69 7a 65 0a 09 09 65 !~/^\#/);...}...#.cache.size...e
b7a0 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 63 61 63 68 lsif.($line.=~./(^[\#]*[\s]*cach
b7c0 65 2d 73 69 7a 65 5c 3d 29 28 5b 30 2d 39 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 63 6f e-size\=)([0-9]*)/.)...{....$$co
b7e0 6e 66 69 67 7b 63 61 63 68 65 5f 73 69 7a 65 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a nfig{cache_size}{line}=$lineno;.
b800 09 09 09 24 24 63 6f 6e 66 69 67 7b 63 61 63 68 65 5f 73 69 7a 65 7d 7b 73 69 7a 65 7d 3d 24 32 ...$$config{cache_size}{size}=$2
b820 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 63 61 63 68 65 5f 73 69 7a 65 7d 7b 75 73 65 64 7d 3d ;....$$config{cache_size}{used}=
b840 28 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 23 20 6e 65 67 61 74 69 76 ($line.!~/^\#/);...}...#.negativ
b860 65 20 63 61 63 68 65 20 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c e.cache....elsif.($line.=~./(^[\
b880 23 5d 2a 5b 5c 73 5d 2a 6e 6f 2d 6e 65 67 63 61 63 68 65 29 2f 20 29 0a 09 09 7b 0a 09 09 09 24 #]*[\s]*no-negcache)/.)...{....$
b8a0 24 63 6f 6e 66 69 67 7b 6e 65 67 5f 63 61 63 68 65 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f $config{neg_cache}{line}=$lineno
b8c0 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 6e 65 67 5f 63 61 63 68 65 7d 7b 75 73 65 64 7d 3d 28 ;....$$config{neg_cache}{used}=(
b8e0 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 23 20 6c 6f 63 61 6c 20 74 74 $line.!~/^\#/);...}...#.local.tt
b900 6c 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d l...elsif.($line.=~./(^[\#]*[\s]
b920 2a 6c 6f 63 61 6c 2d 74 74 6c 5c 3d 29 28 5b 30 2d 39 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 *local-ttl\=)([0-9]*)/.)...{....
b940 24 24 63 6f 6e 66 69 67 7b 6c 6f 63 61 6c 5f 74 74 6c 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e $$config{local_ttl}{line}=$linen
b960 6f 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 6c 6f 63 61 6c 5f 74 74 6c 7d 7b 74 74 6c 7d 3d 24 o;....$$config{local_ttl}{ttl}=$
b980 32 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 6c 6f 63 61 6c 5f 74 74 6c 7d 7b 75 73 65 64 7d 3d 2;....$$config{local_ttl}{used}=
b9a0 28 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 23 20 6c 6f 67 20 72 65 71 ($line.!~/^\#/);...}...#.log.req
b9c0 75 65 73 74 73 3f 20 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 uests?....elsif.($line.=~./(^[\#
b9e0 5d 2a 5b 5c 73 5d 2a 6c 6f 67 2d 71 75 65 72 69 65 73 29 2f 20 29 0a 09 09 7b 0a 09 09 09 24 24 ]*[\s]*log-queries)/.)...{....$$
ba00 63 6f 6e 66 69 67 7b 6c 6f 67 5f 71 75 65 72 69 65 73 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e config{log_queries}{line}=$linen
ba20 6f 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 6c 6f 67 5f 71 75 65 72 69 65 73 7d 7b 75 73 65 64 o;....$$config{log_queries}{used
ba40 7d 3d 28 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 23 20 61 6c 69 61 73 }=($line.!~/^\#/);...}...#.alias
ba60 20 49 50 20 61 64 64 72 65 73 73 65 73 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 .IP.addresses...elsif.($line.=~.
ba80 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 61 6c 69 61 73 5c 3d 29 28 5b 30 2d 39 5c 2e 5c 2c 5d 2a /(^[\#]*[\s]*alias\=)([0-9\.\,]*
baa0 29 2f 20 29 0a 09 09 7b 0a 09 09 09 24 73 75 62 6c 69 6e 65 3d 24 32 3b 0a 09 09 09 25 74 65 6d )/.)...{....$subline=$2;....%tem
bac0 70 20 3d 20 7b 7d 3b 0a 09 09 09 69 66 28 20 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 28 24 49 50 p.=.{};....if(.$subline.=~./($IP
bae0 41 44 44 52 29 5c 2c 28 24 49 50 41 44 44 52 29 5c 2c 28 24 49 50 41 44 44 52 29 2f 20 29 0a 09 ADDR)\,($IPADDR)\,($IPADDR)/.)..
bb00 09 09 7b 20 23 20 77 69 74 68 20 6e 65 74 6d 61 73 6b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 69 6e ..{.#.with.netmask.....$temp{lin
bb20 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 09 24 74 65 6d 70 7b 66 72 6f 6d 7d 3d 24 31 3b 0a e}=$lineno;.....$temp{from}=$1;.
bb40 09 09 09 09 24 74 65 6d 70 7b 74 6f 7d 3d 24 32 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6e 65 74 6d ....$temp{to}=$2;.....$temp{netm
bb60 61 73 6b 7d 3d 24 33 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6e 65 74 6d 61 73 6b 5f 75 73 65 64 7d ask}=$3;.....$temp{netmask_used}
bb80 3d 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 20 28 24 6c 69 6e 65 20 21 7e 20 2f =1;.....$temp{used}=.($line.!~./
bba0 5e 5c 23 2f 29 3b 0a 09 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 61 6c 69 61 ^\#/);.....push.@{.$$config{alia
bbc0 73 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 69 66 28 20 s}.},.{.%temp.};....}....elsif(.
bbe0 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 28 24 49 50 41 44 44 52 29 5c 2c 28 24 49 50 41 44 44 52 $subline.=~./($IPADDR)\,($IPADDR
bc00 29 2f 20 29 0a 09 09 09 7b 20 23 20 6e 6f 20 6e 65 74 6d 61 73 6b 0a 09 09 09 09 24 74 65 6d 70 )/.)....{.#.no.netmask.....$temp
bc20 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 09 24 74 65 6d 70 7b 66 72 6f 6d 7d 3d {line}=$lineno;.....$temp{from}=
bc40 24 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 74 6f 7d 3d 24 32 3b 0a 09 09 09 09 24 74 65 6d 70 7b $1;.....$temp{to}=$2;.....$temp{
bc60 6e 65 74 6d 61 73 6b 7d 3d 30 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6e 65 74 6d 61 73 6b 5f 75 73 netmask}=0;.....$temp{netmask_us
bc80 65 64 7d 3d 30 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 20 28 24 6c 69 6e 65 20 21 ed}=0;.....$temp{used}=.($line.!
bca0 7e 20 2f 5e 5c 23 2f 29 3b 0a 09 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 61 ~./^\#/);.....push.@{.$$config{a
bcc0 6c 69 61 73 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 65 lias}.},.{.%temp.};....}....else
bce0 0a 09 09 09 7b 0a 09 09 09 09 70 72 69 6e 74 20 22 45 72 72 6f 72 20 69 6e 20 6c 69 6e 65 20 24 ....{.....print."Error.in.line.$
bd00 6c 69 6e 65 6e 6f 21 22 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 2b 2b lineno!";.....$$config{errors}++
bd20 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 23 20 44 48 43 50 0a 09 09 23 20 61 64 64 72 65 73 73 20 ;....}...}...#.DHCP...#.address.
bd40 72 61 6e 67 65 20 74 6f 20 75 73 65 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f range.to.use...elsif.($line.=~./
bd60 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 64 68 63 70 2d 72 61 6e 67 65 5c 3d 29 28 5b 30 2d 39 61 2d (^[\#]*[\s]*dhcp-range\=)([0-9a-
bd80 7a 41 2d 5a 5c 2e 5c 2c 5c 2d 5c 5f 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 25 74 65 6d 70 3d zA-Z\.\,\-\_]*)/.)...{....%temp=
bda0 7b 7d 3b 0a 09 09 09 24 73 75 62 6c 69 6e 65 3d 24 32 3b 0a 09 09 09 24 74 65 6d 70 7b 6c 69 6e {};....$subline=$2;....$temp{lin
bdc0 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 28 24 6c 69 6e e}=$lineno;....$temp{used}=($lin
bde0 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 69 66 20 28 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f e.!~/^\#/);....if.($subline.=~./
be00 5e 28 24 4e 41 4d 45 29 5c 2c 28 24 49 50 41 44 44 52 29 5c 2c 28 24 49 50 41 44 44 52 29 5c 2c ^($NAME)\,($IPADDR)\,($IPADDR)\,
be20 28 24 49 50 41 44 44 52 29 28 5c 2c 2a 29 28 5c 64 2a 5b 6d 68 5d 2a 29 2f 20 29 0a 09 09 09 7b ($IPADDR)(\,*)(\d*[mh]*)/.)....{
be40 0a 09 09 09 09 23 20 6e 65 74 77 6f 72 6b 20 69 64 2c 20 73 74 61 72 74 2c 20 65 6e 64 2c 20 6e .....#.network.id,.start,.end,.n
be60 65 74 6d 61 73 6b 2c 20 74 69 6d 65 20 28 6f 70 74 69 6f 6e 61 6c 6c 79 29 0a 09 09 09 09 24 74 etmask,.time.(optionally).....$t
be80 65 6d 70 7b 69 64 7d 3d 24 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 69 64 5f 75 73 65 64 7d 3d 31 emp{id}=$1;.....$temp{id_used}=1
bea0 3b 0a 09 09 09 09 24 74 65 6d 70 7b 73 74 61 72 74 7d 3d 24 32 3b 0a 09 09 09 09 24 74 65 6d 70 ;.....$temp{start}=$2;.....$temp
bec0 7b 65 6e 64 7d 3d 24 33 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6d 61 73 6b 7d 3d 24 34 3b 0a 09 09 {end}=$3;.....$temp{mask}=$4;...
bee0 09 09 24 74 65 6d 70 7b 6d 61 73 6b 5f 75 73 65 64 7d 3d 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b ..$temp{mask_used}=1;.....$temp{
bf00 6c 65 61 73 65 74 69 6d 65 7d 3d 24 36 3b 0a 09 09 09 09 24 74 65 6d 70 7b 74 69 6d 65 5f 75 73 leasetime}=$6;.....$temp{time_us
bf20 65 64 7d 3d 28 24 36 20 3d 7e 20 2f 5e 5c 64 2f 29 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 ed}=($6.=~./^\d/);.....$temp{use
bf40 64 7d 20 3d 28 20 24 6c 69 6e 65 20 21 7e 20 2f 5e 5c 23 2f 20 29 3b 0a 09 09 09 09 70 75 73 68 d}.=(.$line.!~./^\#/.);.....push
bf60 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 20 7d 2c 20 7b 20 25 74 .@{.$$config{dhcp_range}.},.{.%t
bf80 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 69 66 20 28 24 73 75 62 6c 69 6e 65 20 3d emp.};....}....elsif.($subline.=
bfa0 7e 20 2f 5e 28 24 4e 41 4d 45 29 5c 2c 28 24 49 50 41 44 44 52 29 5c 2c 28 24 49 50 41 44 44 52 ~./^($NAME)\,($IPADDR)\,($IPADDR
bfc0 29 28 5c 2c 2a 29 28 5c 64 2a 5b 6d 68 5d 2a 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 23 20 6e )(\,*)(\d*[mh]*)/.)....{.....#.n
bfe0 65 74 77 6f 72 6b 20 69 64 2c 20 73 74 61 72 74 2c 20 65 6e 64 2c 20 74 69 6d 65 20 28 6f 70 74 etwork.id,.start,.end,.time.(opt
c000 69 6f 6e 61 6c 6c 79 29 0a 09 09 09 09 24 74 65 6d 70 7b 69 64 7d 3d 24 31 3b 0a 09 09 09 09 24 ionally).....$temp{id}=$1;.....$
c020 74 65 6d 70 7b 69 64 5f 75 73 65 64 7d 3d 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 73 74 61 72 74 temp{id_used}=1;.....$temp{start
c040 7d 3d 24 32 3b 0a 09 09 09 09 24 74 65 6d 70 7b 65 6e 64 7d 3d 24 33 3b 0a 09 09 09 09 24 74 65 }=$2;.....$temp{end}=$3;.....$te
c060 6d 70 7b 6d 61 73 6b 7d 3d 22 22 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6d 61 73 6b 5f 75 73 65 64 mp{mask}="";.....$temp{mask_used
c080 7d 3d 30 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 65 61 73 65 74 69 6d 65 7d 3d 24 35 3b 0a 09 09 }=0;.....$temp{leasetime}=$5;...
c0a0 09 09 24 74 65 6d 70 7b 74 69 6d 65 5f 75 73 65 64 7d 3d 28 24 35 20 3d 7e 20 2f 5e 5c 64 2f 29 ..$temp{time_used}=($5.=~./^\d/)
c0c0 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 20 3d 28 20 24 6c 69 6e 65 20 21 7e 20 2f 5e ;.....$temp{used}.=(.$line.!~./^
c0e0 5c 23 2f 20 29 3b 0a 09 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 \#/.);.....push.@{.$$config{dhcp
c100 5f 72 61 6e 67 65 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c _range}.},.{.%temp.};....}....el
c120 73 69 66 20 28 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f 5e 28 24 49 50 41 44 44 52 29 5c 2c 28 24 sif.($subline.=~./^($IPADDR)\,($
c140 49 50 41 44 44 52 29 5c 2c 28 24 49 50 41 44 44 52 29 28 5c 2c 2a 29 28 5c 64 2a 5b 6d 68 5d 2a IPADDR)\,($IPADDR)(\,*)(\d*[mh]*
c160 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 23 20 73 74 61 72 74 2c 20 65 6e 64 2c 20 6e 65 74 6d )/.)....{.....#.start,.end,.netm
c180 61 73 6b 2c 20 74 69 6d 65 20 28 6f 70 74 69 6f 6e 61 6c 6c 79 29 0a 09 09 09 09 24 74 65 6d 70 ask,.time.(optionally).....$temp
c1a0 7b 69 64 7d 3d 22 22 3b 0a 09 09 09 09 24 74 65 6d 70 7b 69 64 5f 75 73 65 64 7d 3d 30 3b 0a 09 {id}="";.....$temp{id_used}=0;..
c1c0 09 09 09 24 74 65 6d 70 7b 73 74 61 72 74 7d 3d 24 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 65 6e ...$temp{start}=$1;.....$temp{en
c1e0 64 7d 3d 24 32 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6d 61 73 6b 7d 3d 24 33 3b 0a 09 09 09 09 24 d}=$2;.....$temp{mask}=$3;.....$
c200 74 65 6d 70 7b 6d 61 73 6b 5f 75 73 65 64 7d 3d 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 65 61 temp{mask_used}=1;.....$temp{lea
c220 73 65 74 69 6d 65 7d 3d 24 35 3b 0a 09 09 09 09 24 74 65 6d 70 7b 74 69 6d 65 5f 75 73 65 64 7d setime}=$5;.....$temp{time_used}
c240 3d 28 24 35 20 3d 7e 20 2f 5e 5c 64 2f 29 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 20 =($5.=~./^\d/);.....$temp{used}.
c260 3d 28 20 24 6c 69 6e 65 20 21 7e 20 2f 5e 5c 23 2f 20 29 3b 0a 09 09 09 09 70 75 73 68 20 40 7b =(.$line.!~./^\#/.);.....push.@{
c280 20 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 .$$config{dhcp_range}.},.{.%temp
c2a0 20 7d 3b 0a 09 09 09 7d 0a 09 09 09 65 6c 73 69 66 20 28 24 73 75 62 6c 69 6e 65 20 3d 7e 20 2f .};....}....elsif.($subline.=~./
c2c0 5e 28 24 49 50 41 44 44 52 29 5c 2c 28 24 49 50 41 44 44 52 29 28 5c 2c 2a 29 28 5c 64 2a 5b 6d ^($IPADDR)\,($IPADDR)(\,*)(\d*[m
c2e0 68 5d 2a 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 23 20 73 74 61 72 74 2c 20 65 6e 64 2c 20 74 h]*)/.)....{.....#.start,.end,.t
c300 69 6d 65 20 28 6f 70 74 69 6f 6e 61 6c 6c 79 29 0a 09 09 09 09 24 74 65 6d 70 7b 69 64 7d 3d 22 ime.(optionally).....$temp{id}="
c320 22 3b 0a 09 09 09 09 24 74 65 6d 70 7b 69 64 5f 75 73 65 64 7d 3d 30 3b 0a 09 09 09 09 24 74 65 ";.....$temp{id_used}=0;.....$te
c340 6d 70 7b 73 74 61 72 74 7d 3d 24 31 3b 0a 09 09 09 09 24 74 65 6d 70 7b 65 6e 64 7d 3d 24 32 3b mp{start}=$1;.....$temp{end}=$2;
c360 0a 09 09 09 09 24 74 65 6d 70 7b 6d 61 73 6b 7d 3d 22 22 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6d .....$temp{mask}="";.....$temp{m
c380 61 73 6b 5f 75 73 65 64 7d 3d 30 3b 0a 09 09 09 09 24 74 65 6d 70 7b 6c 65 61 73 65 74 69 6d 65 ask_used}=0;.....$temp{leasetime
c3a0 7d 3d 24 34 3b 0a 09 09 09 09 24 74 65 6d 70 7b 74 69 6d 65 5f 75 73 65 64 7d 3d 28 24 34 20 3d }=$4;.....$temp{time_used}=($4.=
c3c0 7e 20 2f 5e 5c 64 2f 29 3b 0a 09 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 20 3d 28 20 24 6c 69 ~./^\d/);.....$temp{used}.=(.$li
c3e0 6e 65 20 21 7e 20 2f 5e 5c 23 2f 20 29 3b 0a 09 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e ne.!~./^\#/.);.....push.@{.$$con
c400 66 69 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 fig{dhcp_range}.},.{.%temp.};...
c420 09 7d 0a 09 09 09 65 6c 73 65 0a 09 09 09 7b 0a 09 09 09 09 70 72 69 6e 74 20 22 45 72 72 6f 72 .}....else....{.....print."Error
c440 20 69 6e 20 6c 69 6e 65 20 24 6c 69 6e 65 6e 6f 21 22 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 .in.line.$lineno!";.....$$config
c460 7b 65 72 72 6f 72 73 7d 2b 2b 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 09 23 20 73 70 65 63 69 66 79 {errors}++;....}...}...#.specify
c480 20 68 6f 73 74 73 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d .hosts...elsif.($line.=~./(^[\#]
c4a0 2a 5b 5c 73 5d 2a 64 68 63 70 2d 68 6f 73 74 5c 3d 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e 5c *[\s]*dhcp-host\=)([0-9a-zA-Z\.\
c4c0 3a 5c 2c 5c 2a 5d 2a 29 2f 29 0a 09 09 7b 0a 09 09 09 23 20 74 6f 6f 20 6d 61 6e 79 20 74 6f 20 :\,\*]*)/)...{....#.too.many.to.
c4e0 63 6c 61 73 73 69 66 79 20 2d 20 61 6c 6c 20 61 73 20 73 74 72 69 6e 67 21 0a 09 09 09 25 74 65 classify.-.all.as.string!....%te
c500 6d 70 20 3d 20 7b 7d 3b 0a 09 09 09 24 74 65 6d 70 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b mp.=.{};....$temp{line}=$lineno;
c520 0a 09 09 09 24 74 65 6d 70 7b 6f 70 74 69 6f 6e 7d 3d 24 32 3b 0a 09 09 09 24 74 65 6d 70 7b 75 ....$temp{option}=$2;....$temp{u
c540 73 65 64 7d 3d 28 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 70 75 73 68 20 40 7b sed}=($line.!~/^\#/);....push.@{
c560 20 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 68 6f 73 74 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 .$$config{dhcp_host}.},.{.%temp.
c580 7d 3b 0a 09 09 7d 0a 09 09 23 20 76 65 6e 64 6f 72 20 63 6c 61 73 73 0a 09 09 65 6c 73 69 66 20 };...}...#.vendor.class...elsif.
c5a0 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 64 68 63 70 2d 76 65 6e 64 ($line.=~./(^[\#]*[\s]*dhcp-vend
c5c0 6f 72 63 6c 61 73 73 5c 3d 29 28 24 4e 41 4d 45 29 5c 2c 28 24 4e 41 4d 45 29 2f 20 29 0a 09 09 orclass\=)($NAME)\,($NAME)/.)...
c5e0 7b 0a 09 09 09 25 74 65 6d 70 20 3d 20 7b 7d 3b 0a 09 09 09 24 74 65 6d 70 7b 6c 69 6e 65 7d 3d {....%temp.=.{};....$temp{line}=
c600 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 24 74 65 6d 70 7b 63 6c 61 73 73 7d 3d 24 32 3b 0a 09 09 09 $lineno;....$temp{class}=$2;....
c620 24 74 65 6d 70 7b 76 65 6e 64 6f 72 7d 3d 24 33 3b 0a 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d $temp{vendor}=$3;....$temp{used}
c640 3d 28 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 =($line.!~/^\#/);....push.@{.$$c
c660 6f 6e 66 69 67 7b 76 65 6e 64 6f 72 5f 63 6c 61 73 73 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 7d onfig{vendor_class}.},.{.%temp.}
c680 3b 0a 09 09 7d 0a 09 09 23 20 75 73 65 72 20 63 6c 61 73 73 0a 09 09 65 6c 73 69 66 20 28 24 6c ;...}...#.user.class...elsif.($l
c6a0 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 64 68 63 70 2d 75 73 65 72 63 6c 61 ine.=~./(^[\#]*[\s]*dhcp-usercla
c6c0 73 73 5c 3d 29 28 24 4e 41 4d 45 29 5c 2c 28 24 4e 41 4d 45 29 2f 20 29 0a 09 09 7b 0a 09 09 09 ss\=)($NAME)\,($NAME)/.)...{....
c6e0 25 74 65 6d 70 20 3d 20 7b 7d 3b 0a 09 09 09 24 74 65 6d 70 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 %temp.=.{};....$temp{line}=$line
c700 6e 6f 3b 0a 09 09 09 24 74 65 6d 70 7b 63 6c 61 73 73 7d 3d 24 32 3b 0a 09 09 09 24 74 65 6d 70 no;....$temp{class}=$2;....$temp
c720 7b 75 73 65 72 7d 3d 24 33 3b 0a 09 09 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 {user}=$3;....$temp{used}=($line
c740 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 75 .!~/^\#/);....push.@{.$$config{u
c760 73 65 72 5f 63 6c 61 73 73 7d 20 7d 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 7d 0a 09 09 23 ser_class}.},.{.%temp.};...}...#
c780 20 2f 65 74 63 2f 65 74 68 65 72 73 3f 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 ./etc/ethers?...elsif.($line.=~.
c7a0 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 72 65 61 64 2d 65 74 68 65 72 73 29 2f 20 29 0a 09 09 7b /(^[\#]*[\s]*read-ethers)/.)...{
c7c0 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 65 74 68 65 72 73 7d 7b 6c 69 6e 65 7d 3d ....$$config{dhcp_ethers}{line}=
c7e0 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 65 74 68 65 72 73 $lineno;....$$config{dhcp_ethers
c800 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 23 }{used}=($line.!~/^\#/);...}...#
c820 20 64 63 68 70 20 6f 70 74 69 6f 6e 73 0a 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 .dchp.options...elsif.($line.=~.
c840 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 64 68 63 70 2d 6f 70 74 69 6f 6e 5c 3d 29 28 5b 30 2d 39 /(^[\#]*[\s]*dhcp-option\=)([0-9
c860 61 2d 7a 41 2d 5a 5c 2c 5c 5f 5c 2e 5d 2a 29 2f 20 29 0a 09 09 7b 0a 09 09 09 23 20 74 6f 6f 20 a-zA-Z\,\_\.]*)/.)...{....#.too.
c880 6d 61 6e 79 20 74 6f 20 63 6c 61 73 73 69 66 79 20 2d 20 61 6c 6c 20 61 73 20 73 74 72 69 6e 67 many.to.classify.-.all.as.string
c8a0 21 0a 09 09 09 25 74 65 6d 70 20 3d 20 7b 7d 3b 0a 09 09 09 24 74 65 6d 70 7b 6c 69 6e 65 7d 3d !....%temp.=.{};....$temp{line}=
c8c0 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 24 74 65 6d 70 7b 6f 70 74 69 6f 6e 7d 3d 24 32 3b 0a 09 09 $lineno;....$temp{option}=$2;...
c8e0 09 24 74 65 6d 70 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 .$temp{used}=($line.!~/^\#/);...
c900 09 70 75 73 68 20 40 7b 20 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6f 70 74 69 6f 6e 7d 20 7d .push.@{.$$config{dhcp_option}.}
c920 2c 20 7b 20 25 74 65 6d 70 20 7d 3b 0a 09 09 7d 0a 09 09 23 20 6c 65 61 73 65 20 74 69 6d 65 0a ,.{.%temp.};...}...#.lease.time.
c940 09 09 65 6c 73 69 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 64 ..elsif.($line.=~./(^[\#]*[\s]*d
c960 68 63 70 2d 6c 65 61 73 65 2d 6d 61 78 5c 3d 29 28 5b 30 2d 39 5d 2a 29 2f 20 29 0a 09 09 7b 0a hcp-lease-max\=)([0-9]*)/.)...{.
c980 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6c 65 61 73 65 6d 61 78 7d 7b 6c 69 6e 65 7d ...$$config{dhcp_leasemax}{line}
c9a0 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6c 65 61 73 65 =$lineno;....$$config{dhcp_lease
c9c0 6d 61 78 7d 7b 6d 61 78 7d 3d 24 32 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6c max}{max}=$2;....$$config{dhcp_l
c9e0 65 61 73 65 6d 61 78 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a easemax}{used}=($line.!~/^\#/);.
ca00 09 09 7d 0a 09 09 23 20 62 6f 6f 74 70 20 68 6f 73 74 20 26 20 66 69 6c 65 0a 09 09 65 6c 73 69 ..}...#.bootp.host.&.file...elsi
ca20 66 20 28 24 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 64 68 63 70 2d 62 6f f.($line.=~./(^[\#]*[\s]*dhcp-bo
ca40 6f 74 5c 3d 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 30 2d 39 5c 2c 5c 5f 5c 2e 5c 2f 5d 2a 29 2f 20 ot\=)([0-9a-zA-Z0-9\,\_\.\/]*)/.
ca60 29 0a 09 09 7b 0a 09 09 09 24 73 75 62 6c 69 6e 65 3d 24 32 3b 0a 09 09 09 69 66 28 20 24 73 75 )...{....$subline=$2;....if(.$su
ca80 62 6c 69 6e 65 20 3d 7e 20 2f 28 5b 30 2d 39 61 2d 7a 41 2d 5a 5c 2e 5c 2d 5c 5f 5c 2f 5d 2b 29 bline.=~./([0-9a-zA-Z\.\-\_\/]+)
caa0 5c 2c 28 24 4e 41 4d 45 29 5c 2c 28 24 49 50 41 44 44 52 29 2f 20 29 0a 09 09 09 7b 0a 09 09 09 \,($NAME)\,($IPADDR)/.)....{....
cac0 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 62 6f 6f 74 7d 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 .$$config{dhcp_boot}{line}=$line
cae0 6e 6f 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 62 6f 6f 74 7d 7b 66 69 6c 65 no;.....$$config{dhcp_boot}{file
cb00 7d 3d 24 31 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 62 6f 6f 74 7d 7b 68 6f }=$1;.....$$config{dhcp_boot}{ho
cb20 73 74 7d 3d 24 32 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 62 6f 6f 74 7d 7b st}=$2;.....$$config{dhcp_boot}{
cb40 61 64 64 72 65 73 73 7d 3d 24 33 3b 0a 09 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 62 address}=$3;.....$$config{dhcp_b
cb60 6f 6f 74 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 20 21 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 09 7d oot}{used}=($line.!~/^\#/);....}
cb80 0a 09 09 7d 0a 09 09 23 20 20 6c 65 61 73 65 73 20 66 69 6c 65 0a 09 09 65 6c 73 69 66 20 28 24 ...}...#..leases.file...elsif.($
cba0 6c 69 6e 65 20 3d 7e 20 2f 28 5e 5b 5c 23 5d 2a 5b 5c 73 5d 2a 64 68 63 70 2d 6c 65 61 73 65 66 line.=~./(^[\#]*[\s]*dhcp-leasef
cbc0 69 6c 65 5c 3d 29 28 5b 30 2d 39 61 2d 7a 41 2d 5a 30 2d 39 5c 5f 5c 2e 5c 2f 5d 2a 29 2f 20 29 ile\=)([0-9a-zA-Z0-9\_\.\/]*)/.)
cbe0 0a 09 09 7b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6c 65 61 73 65 66 69 6c 65 7d ...{....$$config{dhcp_leasefile}
cc00 7b 6c 69 6e 65 7d 3d 24 6c 69 6e 65 6e 6f 3b 0a 09 09 09 24 24 63 6f 6e 66 69 67 7b 64 68 63 70 {line}=$lineno;....$$config{dhcp
cc20 5f 6c 65 61 73 65 66 69 6c 65 7d 7b 66 69 6c 65 7d 3d 24 32 3b 0a 09 09 09 24 24 63 6f 6e 66 69 _leasefile}{file}=$2;....$$confi
cc40 67 7b 64 68 63 70 5f 6c 65 61 73 65 66 69 6c 65 7d 7b 75 73 65 64 7d 3d 28 24 6c 69 6e 65 20 21 g{dhcp_leasefile}{used}=($line.!
cc60 7e 2f 5e 5c 23 2f 29 3b 0a 09 09 7d 0a 09 09 65 6c 73 65 0a 09 09 7b 0a 09 09 09 23 20 65 76 65 ~/^\#/);...}...else...{....#.eve
cc80 72 79 74 68 69 6e 67 20 65 6c 73 65 20 74 68 61 74 27 73 20 6e 6f 74 20 61 20 63 6f 6d 6d 65 6e rything.else.that's.not.a.commen
cca0 74 20 0a 09 09 09 23 20 77 65 20 64 6f 6e 27 74 20 75 6e 64 65 72 73 74 61 6e 64 20 73 6f 20 69 t.....#.we.don't.understand.so.i
ccc0 74 20 6d 61 79 20 62 65 20 61 6e 20 65 72 72 6f 72 21 0a 09 09 09 69 66 28 20 24 6c 69 6e 65 20 t.may.be.an.error!....if(.$line.
cce0 21 7e 20 2f 5e 23 2f 20 29 0a 09 09 09 7b 0a 09 09 09 09 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 !~./^#/.)....{.....$config{error
cd00 73 7d 2b 2b 3b 0a 09 09 09 7d 0a 09 09 7d 0a 09 7d 0a 7d 0a 0a 7d 20 23 65 6e 64 20 6f 66 20 73 s}++;....}...}..}.}..}.#end.of.s
cd20 75 62 20 72 65 61 64 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 0a 23 0a 23 20 75 70 64 61 74 65 20 74 ub.read_config_file.#.#.update.t
cd40 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 61 72 72 61 79 0a 23 0a 23 20 61 72 67 75 6d 65 6e he.config.file.array.#.#.argumen
cd60 74 73 20 61 72 65 3a 0a 23 20 09 24 6c 69 6e 65 6e 6f 20 2d 20 74 68 65 20 6c 69 6e 65 20 6e 75 ts.are:.#..$lineno.-.the.line.nu
cd80 6d 62 65 72 20 28 61 72 72 61 79 20 69 6e 64 65 78 29 20 74 6f 20 75 70 64 61 74 65 0a 23 20 09 mber.(array.index).to.update.#..
cda0 24 74 65 78 74 20 20 20 2d 20 74 68 65 20 6e 65 77 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 $text...-.the.new.contents.of.th
cdc0 65 20 6c 69 6e 65 0a 23 20 09 24 66 69 6c 65 20 20 20 2d 20 72 65 66 65 72 65 6e 63 65 20 74 6f e.line.#..$file...-.reference.to
cde0 20 74 68 65 20 61 72 72 61 79 20 74 6f 20 63 68 61 6e 67 65 0a 23 20 09 24 63 6f 6d 6d 20 20 20 .the.array.to.change.#..$comm...
ce00 2d 20 70 75 74 20 61 20 63 6f 6d 6d 65 6e 74 20 6d 61 72 6b 65 72 20 28 27 23 27 29 20 61 74 20 -.put.a.comment.marker.('#').at.
ce20 73 74 61 72 74 20 6f 66 20 6c 69 6e 65 3f 0a 23 20 09 20 20 20 20 20 20 20 20 20 20 66 61 6c 73 start.of.line?.#............fals
ce40 65 20 28 30 29 20 6d 65 61 6e 73 20 63 6f 6d 6d 65 6e 74 20 74 68 65 20 6c 69 6e 65 0a 23 0a 73 e.(0).means.comment.the.line.#.s
ce60 75 62 20 75 70 64 61 74 65 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 6e 6f 20 3d 20 73 68 69 66 74 3b ub.update.{..my.$lineno.=.shift;
ce80 0a 09 6d 79 20 24 74 65 78 74 20 3d 20 73 68 69 66 74 3b 0a 09 6d 79 20 24 66 69 6c 65 20 3d 20 ..my.$text.=.shift;..my.$file.=.
cea0 73 68 69 66 74 3b 0a 09 6d 79 20 24 63 6f 6d 6d 20 3d 20 73 68 69 66 74 3b 0a 09 6d 79 20 24 6c shift;..my.$comm.=.shift;..my.$l
cec0 69 6e 65 3b 0a 0a 09 24 6c 69 6e 65 20 3d 20 28 20 24 63 6f 6d 6d 20 21 3d 20 30 20 29 20 3f 0a ine;...$line.=.(.$comm.!=.0.).?.
cee0 09 09 24 74 65 78 74 20 3a 0a 09 09 22 23 22 20 2e 20 24 74 65 78 74 3b 0a 09 69 66 28 20 24 6c ..$text.:..."#"...$text;..if(.$l
cf00 69 6e 65 6e 6f 20 3d 3d 20 30 20 29 0a 09 7b 0a 09 09 70 75 73 68 20 40 24 66 69 6c 65 2c 20 24 ineno.==.0.)..{...push.@$file,.$
cf20 6c 69 6e 65 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 40 24 66 69 6c 65 5b 24 6c 69 6e 65 line;..}..else..{...@$file[$line
cf40 6e 6f 5d 3d 24 6c 69 6e 65 3b 0a 09 7d 0a 7d 20 23 20 65 6e 64 20 6f 66 20 73 75 62 20 75 70 64 no]=$line;..}.}.#.end.of.sub.upd
cf60 61 74 65 0a 31 3b 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ate.1;..........................
cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d000 64 6e 73 6d 61 73 71 2f 73 65 72 76 65 72 73 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/servers.cgi.............
d020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
d080 30 30 30 37 30 34 30 00 31 30 35 31 32 33 35 30 30 37 36 00 30 31 33 34 30 32 00 20 30 00 00 00 0007040.10512350076.013402..0...
d0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
d120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
d140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
d200 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
d220 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 73 65 72 76 65 72 2e 63 67 69 3b 20 55 70 73 74 72 ebmin.Module.-.server.cgi;.Upstr
d240 65 61 6d 20 53 65 72 76 65 72 73 20 63 6f 6e 66 69 67 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 eam.Servers.config.#....Copyrigh
d260 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a t.(C).2006.by.Neil.Fisher.#.....
d280 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 #....This.program.is.free.softwa
d2a0 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f re;.you.can.redistribute.it.and/
d2c0 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d or.modify.#....it.under.the.term
d2e0 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 s.of.the.GNU.General.Public.Lice
d300 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 nse.as.published.by.#....the.Fre
d320 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 e.Software.Foundation;.either.ve
d340 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 rsion.2.of.the.License,.or.#....
d360 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 (at.your.option).any.later.versi
d380 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 on..#.#....This.program.is.distr
d3a0 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 ibuted.in.the.hope.that.it.will.
d3c0 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 be.useful,.#....but.WITHOUT.ANY.
d3e0 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 WARRANTY;.without.even.the.impli
d400 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c ed.warranty.of.#....MERCHANTABIL
d420 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
d440 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 PURPOSE...See.the.#....GNU.Gener
d460 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 al.Public.License.for.more.detai
d480 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 ls..#.#....This.module.inherited
d4a0 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 .from.the.Webmin.Module.Template
d4c0 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c .0.79.1.by.tn..do.'../web-lib.pl
d4e0 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 ';.do.'../ui-lib.pl';.do.'dnsmas
d500 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 q-lib.pl';..$|=1;.&init_config("
d520 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f DNSMasq");..%access=&get_module_
d540 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 acl;..##.put.in.ACL.checks.here.
d560 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 26 68 if.needed...##.sanity.checks..&h
d580 65 61 64 65 72 28 24 74 65 78 74 7b 27 69 6e 64 65 78 5f 74 69 74 6c 65 27 7d 2c 20 22 22 2c 20 eader($text{'index_title'},."",.
d5a0 22 69 6e 74 72 6f 22 2c 20 31 2c 20 31 2c 20 75 6e 64 65 66 2c 0a 20 20 20 20 20 20 20 20 22 57 "intro",.1,.1,.undef,........."W
d5c0 72 69 74 74 65 6e 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 3c 42 52 3e 3c 41 20 48 52 45 46 ritten.by.Neil.Fisher<BR><A.HREF
d5e0 3d 6d 61 69 6c 74 6f 3a 6e 65 69 6c 5c 40 6d 61 67 6e 65 63 6f 72 2e 63 6f 6d 2e 61 75 3e 41 75 =mailto:neil\@magnecor.com.au>Au
d600 74 68 6f 72 3c 2f 41 3e 3c 42 52 3e 3c 41 20 48 52 45 46 3d 68 74 74 70 3a 2f 2f 77 77 77 2e 61 thor</A><BR><A.HREF=http://www.a
d620 75 74 68 6f 72 70 61 67 65 2e 69 6e 76 61 6c 69 64 3e 48 6f 6d 65 3a 2f 2f 70 61 67 65 3c 2f 41 uthorpage.invalid>Home://page</A
d640 3e 22 29 3b 0a 23 20 75 73 65 73 20 74 68 65 20 69 6e 64 65 78 5f 74 69 74 6c 65 20 65 6e 74 72 >");.#.uses.the.index_title.entr
d660 79 20 66 72 6f 6d 20 2e 2f 6c 61 6e 67 2f 65 6e 20 6f 72 20 61 70 70 72 6f 70 72 69 61 74 65 0a y.from../lang/en.or.appropriate.
d680 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 .##.Insert.Output.code.here.#.re
d6a0 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 ad.config.file.$config_file.=.&r
d6c0 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 ead_file_lines(.$config{config_f
d6e0 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 ile}.);.#.pass.into.data.structu
d700 72 65 0a 0a 0a 23 20 6f 75 74 70 75 74 20 61 73 20 77 65 62 20 70 61 67 65 0a 0a 6d 79 20 24 63 re...#.output.as.web.page..my.$c
d720 6f 75 6e 74 3d 30 3b 0a 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e ount=0;.&header(."DNSMasq.settin
d740 67 73 22 2c 20 22 22 20 29 3b 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c gs",."".);.&parse_config_file(.\
d760 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 70 72 69 6e 74 20 %config,.\$config_file.);.print.
d780 22 3c 68 32 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 44 4e 53 5f 73 65 72 76 65 72 73 "<h2>";.print.$text{'DNS_servers
d7a0 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 68 32 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 '};.print."</h2>";.print.&ui_for
d7c0 6d 5f 73 74 61 72 74 28 20 22 73 72 76 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 m_start(."srv_apply.cgi",."post"
d7e0 20 29 3b 0a 70 72 69 6e 74 20 22 3c 68 33 3e 22 2e 24 74 65 78 74 7b 64 79 6e 61 6d 69 63 7d 2e .);.print."<h3>".$text{dynamic}.
d800 22 3c 2f 68 33 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 72 65 73 6f 6c 76 7d 3b 0a 70 72 "</h3>";.print.$text{resolv};.pr
d820 69 6e 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 72 65 73 6f 6c 76 22 2c 20 28 int.&ui_yesno_radio(."resolv",.(
d840 24 63 6f 6e 66 69 67 7b 6e 6f 5f 72 65 73 6f 6c 76 7d 7b 75 73 65 64 7d 3f 30 3a 31 29 20 29 3b $config{no_resolv}{used}?0:1).);
d860 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 72 65 73 6f 6c 76 5f 66 69 6c 65 5f .print."<br>".$text{resolv_file_
d880 65 78 70 6c 69 63 69 74 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f explicit};.print.&ui_yesno_radio
d8a0 28 20 22 72 65 73 6f 6c 76 5f 73 74 64 22 2c 20 28 24 63 6f 6e 66 69 67 7b 72 65 73 6f 6c 76 5f (."resolv_std",.($config{resolv_
d8c0 66 69 6c 65 7d 7b 75 73 65 64 7d 3f 31 3a 30 29 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 file}{used}?1:0).);.print."<br>"
d8e0 2e 24 74 65 78 74 7b 72 65 73 6f 6c 76 5f 66 69 6c 65 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 .$text{resolv_file};.print.&ui_t
d900 65 78 74 62 6f 78 28 20 22 72 65 73 6f 6c 76 5f 66 69 6c 65 22 2c 20 24 63 6f 6e 66 69 67 7b 72 extbox(."resolv_file",.$config{r
d920 65 73 6f 6c 76 5f 66 69 6c 65 7d 7b 66 69 6c 65 6e 61 6d 65 7d 2c 20 35 30 20 29 3b 0a 70 72 69 esolv_file}{filename},.50.);.pri
d940 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 2e 24 74 65 78 74 7b 70 6f 6c 6c 7d 2e 22 3c 62 72 3e 22 nt."<br><br>".$text{poll}."<br>"
d960 3b 0a 70 72 69 6e 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 70 6f 6c 6c 22 2c ;.print.&ui_yesno_radio(."poll",
d980 20 28 24 63 6f 6e 66 69 67 7b 6e 6f 5f 70 6f 6c 6c 7d 7b 75 73 65 64 7d 3f 30 3a 31 29 20 29 3b .($config{no_poll}{used}?0:1).);
d9a0 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 2e 24 74 65 78 74 7b 73 74 72 69 63 74 5f 6f .print."<br><br>".$text{strict_o
d9c0 72 64 65 72 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 73 rder};.print.&ui_yesno_radio(."s
d9e0 74 72 69 63 74 22 2c 20 28 24 63 6f 6e 66 69 67 7b 73 74 72 69 63 74 5f 6f 72 64 65 72 7d 7b 75 trict",.($config{strict_order}{u
da00 73 65 64 7d 3f 31 3a 30 29 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 3c 68 33 3e sed}?1:0).);.print."<br><br><h3>
da20 22 2e 24 74 65 78 74 7b 69 6e 5f 66 69 6c 65 7d 2e 22 3c 2f 68 33 3e 22 3b 0a 70 72 69 6e 74 20 ".$text{in_file}."</h3>";.print.
da40 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 28 20 5b 20 24 74 65 78 74 7b 64 6f 6d 61 69 &ui_columns_start(.[.$text{domai
da60 6e 7d 2c 20 24 74 65 78 74 7b 61 64 64 72 65 73 73 7d 2c 20 0a 09 09 09 20 20 20 24 74 65 78 74 n},.$text{address},........$text
da80 7b 69 6e 5f 75 73 65 7d 2c 20 22 22 20 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 61 63 68 20 6d {in_use},."".],.100.);.foreach.m
daa0 79 20 24 73 65 72 76 65 72 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 7d 20 y.$server.(.@{$config{servers}}.
dac0 29 0a 7b 0a 09 6c 6f 63 61 6c 20 28 20 24 6d 6f 76 65 72 2c 20 24 65 64 69 74 20 29 3b 0a 09 69 ).{..local.(.$mover,.$edit.);..i
dae0 66 28 20 24 63 6f 75 6e 74 20 3d 3d 20 40 7b 24 63 6f 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 7d f(.$count.==.@{$config{servers}}
db00 2d 31 20 29 0a 09 7b 0a 09 09 24 6d 6f 76 65 72 3d 22 3c 69 6d 67 20 73 72 63 3d 69 6d 61 67 65 -1.)..{...$mover="<img.src=image
db20 73 2f 67 61 70 2e 67 69 66 3e 22 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 09 0a 09 09 24 6d 6f 76 s/gap.gif>";..}..else..{....$mov
db40 65 72 20 3d 20 22 3c 61 20 68 72 65 66 3d 27 73 72 76 5f 6d 6f 76 65 2e 63 67 69 3f 69 64 78 3d er.=."<a.href='srv_move.cgi?idx=
db60 24 63 6f 75 6e 74 26 22 2e 0a 09 09 22 64 69 72 3d 64 6f 77 6e 27 3e 3c 69 6d 67 20 73 72 63 3d $count&"...."dir=down'><img.src=
db80 22 2e 0a 09 09 22 69 6d 61 67 65 73 2f 64 6f 77 6e 2e 67 69 66 20 62 6f 72 64 65 72 3d 30 3e 3c "...."images/down.gif.border=0><
dba0 2f 61 3e 22 3b 0a 09 7d 0a 20 20 20 20 20 20 20 20 69 66 28 20 24 63 6f 75 6e 74 20 3d 3d 20 30 /a>";..}.........if(.$count.==.0
dbc0 20 29 0a 09 7b 0a 09 09 24 6d 6f 76 65 72 2e 3d 22 3c 69 6d 67 20 73 72 63 3d 69 6d 61 67 65 73 .)..{...$mover.="<img.src=images
dbe0 2f 67 61 70 2e 67 69 66 3e 22 3b 0a 09 7d 0a 09 65 6c 73 65 0a 09 7b 0a 09 09 24 6d 6f 76 65 72 /gap.gif>";..}..else..{...$mover
dc00 20 2e 3d 20 22 3c 61 20 68 72 65 66 3d 27 73 72 76 5f 6d 6f 76 65 2e 63 67 69 3f 69 64 78 3d 24 ..=."<a.href='srv_move.cgi?idx=$
dc20 63 6f 75 6e 74 26 22 2e 0a 09 09 22 64 69 72 3d 75 70 27 3e 3c 69 6d 67 20 73 72 63 3d 69 6d 61 count&"...."dir=up'><img.src=ima
dc40 67 65 73 2f 75 70 2e 67 69 66 20 22 2e 0a 09 09 22 62 6f 72 64 65 72 3d 30 3e 3c 2f 61 3e 22 3b ges/up.gif."...."border=0></a>";
dc60 0a 09 7d 0a 09 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d 73 72 76 5f 65 64 69 74 2e 63 ..}..$edit.=."<a.href=srv_edit.c
dc80 67 69 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 73 65 72 76 65 72 7b 61 64 64 72 65 73 73 gi?idx=$count>".$$server{address
dca0 7d 2e 22 3c 2f 61 3e 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 72 6f 77 }."</a>";..print.&ui_columns_row
dcc0 28 20 5b 20 24 24 73 65 72 76 65 72 7b 64 6f 6d 61 69 6e 7d 2c 20 24 65 64 69 74 2c 0a 09 09 28 (.[.$$server{domain},.$edit,...(
dce0 24 24 73 65 72 76 65 72 7b 75 73 65 64 7d 29 3f 24 74 65 78 74 7b 75 73 65 64 7d 3a 24 74 65 78 $$server{used})?$text{used}:$tex
dd00 74 7b 6e 6f 74 5f 75 73 65 64 7d 2c 20 24 6d 6f 76 65 72 20 5d 2c 0a 20 20 20 20 20 20 20 09 09 t{not_used},.$mover.],..........
dd20 5b 20 22 77 69 64 74 68 3d 33 30 25 22 2c 20 22 77 69 64 74 68 3d 33 30 25 22 2c 20 22 77 69 64 [."width=30%",."width=30%",."wid
dd40 74 68 3d 33 30 25 22 2c 20 22 77 69 64 74 68 3d 31 30 25 22 20 5d 09 29 3b 0a 09 24 63 6f 75 6e th=30%",."width=10%".].);..$coun
dd60 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 65 6e 64 28 29 3b 0a t++;.}.print.&ui_columns_end();.
dd80 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 61 74 3d print."<br><a.href=add.cgi?what=
dda0 73 65 72 76 65 72 3d 30 2e 30 2e 30 2e 30 26 77 68 65 72 65 3d 73 65 72 76 65 72 73 2e 63 67 69 server=0.0.0.0&where=servers.cgi
ddc0 3e 22 2e 0a 09 09 24 74 65 78 74 7b 6e 65 77 5f 64 6e 73 5f 73 65 72 76 7d 2e 22 3c 2f 61 3e 3c >"....$text{new_dns_serv}."</a><
dde0 68 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 hr>";.print."<br>"...&ui_submit(
de00 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f 6e 27 7d 20 29 3b 0a 70 72 69 6e 74 20 26 .$text{'save_button'}.);.print.&
de20 75 69 5f 66 6f 72 6d 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 22 3b 0a 70 72 69 ui_form_end();.print."<hr>";.pri
de40 6e 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 69 6e 64 65 78 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 nt."<a.href=\"index.cgi\">";.pri
de60 6e 74 20 24 74 65 78 74 7b 27 44 4e 53 5f 73 65 74 74 69 6e 67 73 27 7d 3b 0a 70 72 69 6e 74 20 nt.$text{'DNS_settings'};.print.
de80 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 69 66 61 "</a><br>";.print."<a.href=\"ifa
dea0 63 65 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 69 66 61 63 65 5f 63 ce.cgi\">";.print.$text{'iface_c
dec0 6f 6e 66 69 67 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 onfig'};.print."</a><br>";.print
dee0 20 22 3c 61 20 68 72 65 66 3d 5c 22 61 6c 69 61 73 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 ."<a.href=\"alias.cgi\">";.print
df00 20 24 74 65 78 74 7b 27 61 6c 69 61 73 5f 63 6f 6e 66 69 67 27 7d 3b 0a 70 72 69 6e 74 20 22 3c .$text{'alias_config'};.print."<
df20 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c /a><br>";.print."<hr>";.print."<
df40 61 20 68 72 65 66 3d 5c 22 64 68 63 70 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 a.href=\"dhcp.cgi\">";.print.$te
df60 78 74 7b 27 44 48 43 50 5f 63 6f 6e 66 69 67 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 61 3e 3c 62 xt{'DHCP_config'};.print."</a><b
df80 72 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d r>";.&footer("/",.$text{'index'}
dfa0 29 3b 0a 23 20 75 73 65 73 20 74 68 65 20 69 6e 64 65 78 20 65 6e 74 72 79 20 69 6e 20 2f 6c 61 );.#.uses.the.index.entry.in./la
dfc0 6e 67 2f 65 6e 0a 0a 0a 0a 23 23 20 69 66 20 73 75 62 72 6f 75 74 69 6e 65 73 20 61 72 65 20 6e ng/en....##.if.subroutines.are.n
dfe0 6f 74 20 69 6e 20 61 6e 20 65 78 74 72 61 20 66 69 6c 65 20 70 75 74 20 74 68 65 6d 20 68 65 72 ot.in.an.extra.file.put.them.her
e000 65 0a 0a 0a 23 23 23 20 45 4e 44 20 6f 66 20 73 65 72 76 65 72 73 2e 63 67 69 20 23 23 23 2e 0a e...###.END.of.servers.cgi.###..
e020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e200 64 6e 73 6d 61 73 71 2f 69 66 61 63 65 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/iface.cgi...............
e220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
e280 30 30 30 37 31 31 37 00 31 30 35 31 32 33 34 35 34 33 30 00 30 31 32 37 36 33 00 20 30 00 00 00 0007117.10512345430.012763..0...
e2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
e320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
e340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
e400 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
e420 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 69 66 61 63 65 2e 63 67 69 3b 20 6e 65 74 77 6f 72 ebmin.Module.-.iface.cgi;.networ
e440 6b 20 69 6e 74 65 72 66 61 63 65 73 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 k.interfaces.#....Copyright.(C).
e460 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 20 54 2006.by.Neil.Fisher.#.....#....T
e480 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f his.program.is.free.software;.yo
e4a0 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 u.can.redistribute.it.and/or.mod
e4c0 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 ify.#....it.under.the.terms.of.t
e4e0 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 he.GNU.General.Public.License.as
e500 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 .published.by.#....the.Free.Soft
e520 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 ware.Foundation;.either.version.
e540 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 79 6f 2.of.the.License,.or.#....(at.yo
e560 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a ur.option).any.later.version..#.
e580 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 #....This.program.is.distributed
e5a0 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 .in.the.hope.that.it.will.be.use
e5c0 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e ful,.#....but.WITHOUT.ANY.WARRAN
e5e0 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 TY;.without.even.the.implied.war
e600 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 ranty.of.#....MERCHANTABILITY.or
e620 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 .FITNESS.FOR.A.PARTICULAR.PURPOS
e640 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 E...See.the.#....GNU.General.Pub
e660 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a lic.License.for.more.details..#.
e680 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d 20 #....This.module.inherited.from.
e6a0 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e the.Webmin.Module.Template.0.79.
e6c0 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 1.by.tn..do.'../web-lib.pl';.do.
e6e0 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e '../ui-lib.pl';.do.'dnsmasq-lib.
e700 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 pl';..$|=1;.&init_config("DNSMas
e720 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a q");..%access=&get_module_acl;..
e740 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e 65 65 ##.put.in.ACL.checks.here.if.nee
e760 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 26 68 65 61 64 65 72 28 ded...##.sanity.checks..&header(
e780 24 74 65 78 74 7b 27 69 6e 64 65 78 5f 74 69 74 6c 65 27 7d 2c 20 22 22 2c 20 22 69 6e 74 72 6f $text{'index_title'},."",."intro
e7a0 22 2c 20 31 2c 20 31 2c 20 75 6e 64 65 66 2c 0a 20 20 20 20 20 20 20 20 22 57 72 69 74 74 65 6e ",.1,.1,.undef,........."Written
e7c0 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 3c 42 52 3e 3c 41 20 48 52 45 46 3d 6d 61 69 6c 74 .by.Neil.Fisher<BR><A.HREF=mailt
e7e0 6f 3a 6e 65 69 6c 5c 40 6d 61 67 6e 65 63 6f 72 2e 63 6f 6d 2e 61 75 3e 41 75 74 68 6f 72 3c 2f o:neil\@magnecor.com.au>Author</
e800 41 3e 3c 42 52 3e 3c 41 20 48 52 45 46 3d 68 74 74 70 3a 2f 2f 77 77 77 2e 61 75 74 68 6f 72 70 A><BR><A.HREF=http://www.authorp
e820 61 67 65 2e 69 6e 76 61 6c 69 64 3e 48 6f 6d 65 3a 2f 2f 70 61 67 65 3c 2f 41 3e 22 29 3b 0a 23 age.invalid>Home://page</A>");.#
e840 20 75 73 65 73 20 74 68 65 20 69 6e 64 65 78 5f 74 69 74 6c 65 20 65 6e 74 72 79 20 66 72 6f 6d .uses.the.index_title.entry.from
e860 20 2e 2f 6c 61 6e 67 2f 65 6e 20 6f 72 20 61 70 70 72 6f 70 72 69 61 74 65 0a 0a 23 23 20 49 6e ../lang/en.or.appropriate..##.In
e880 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f 6e sert.Output.code.here.#.read.con
e8a0 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 fig.file.$config_file.=.&read_fi
e8c0 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 29 le_lines(.$config{config_file}.)
e8e0 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 0a 0a 23 ;.#.pass.into.data.structure...#
e900 20 6f 75 74 70 75 74 20 61 73 20 77 65 62 20 70 61 67 65 0a 0a 6d 79 20 24 63 6f 75 6e 74 3d 30 .output.as.web.page..my.$count=0
e920 3b 0a 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 ;.&header(."DNSMasq.settings",."
e940 22 20 29 3b 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 ".);.&parse_config_file(.\%confi
e960 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 70 72 69 6e 74 20 22 3c 68 32 3e 22 g,.\$config_file.);.print."<h2>"
e980 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 69 66 61 63 65 5f 6c 69 73 74 65 6e 27 7d 3b 0a 70 ;.print.$text{'iface_listen'};.p
e9a0 72 69 6e 74 20 22 3c 2f 68 32 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f rint."</h2>";.print.&ui_columns_
e9c0 73 74 61 72 74 28 20 5b 20 24 74 65 78 74 7b 69 66 61 63 65 7d 2c 20 24 74 65 78 74 7b 69 6e 5f start(.[.$text{iface},.$text{in_
e9e0 75 73 65 7d 20 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 61 63 68 20 6d 79 20 24 69 66 61 63 65 use}.],.100.);.foreach.my.$iface
ea00 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 69 6e 74 65 72 66 61 63 65 7d 7d 20 29 0a 7b 0a 09 6d 79 .(.@{$config{interface}}.).{..my
ea20 20 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d 69 66 61 63 65 5f 65 64 69 74 2e 63 67 69 .$edit.=."<a.href=iface_edit.cgi
ea40 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 69 66 61 63 65 7b 69 66 61 63 65 7d 2e 22 3c 2f ?idx=$count>".$$iface{iface}."</
ea60 61 3e 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 72 6f 77 28 20 5b 20 24 a>";..print.&ui_columns_row(.[.$
ea80 65 64 69 74 2c 20 28 24 24 69 66 61 63 65 7b 75 73 65 64 7d 29 3f 24 74 65 78 74 7b 75 73 65 64 edit,.($$iface{used})?$text{used
eaa0 7d 3a 24 74 65 78 74 7b 6e 6f 74 5f 75 73 65 64 7d 20 5d 2c 0a 20 20 20 20 20 20 20 09 09 5b 20 }:$text{not_used}.],..........[.
eac0 22 77 69 64 74 68 3d 33 30 25 22 2c 20 22 77 69 64 74 68 3d 33 30 25 22 2c 20 22 77 69 64 74 68 "width=30%",."width=30%",."width
eae0 3d 33 30 25 22 20 5d 09 29 3b 0a 09 24 63 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 20 26 75 =30%".].);..$count++;.}.print.&u
eb00 69 5f 63 6f 6c 75 6d 6e 73 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 i_columns_end();.print."<br><a.h
eb20 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 61 74 3d 69 6e 74 65 72 66 61 63 65 3d 6e 65 77 26 77 ref=add.cgi?what=interface=new&w
eb40 68 65 72 65 3d 69 66 61 63 65 2e 63 67 69 3e 22 2e 0a 09 09 24 74 65 78 74 7b 6e 65 77 5f 69 66 here=iface.cgi>"....$text{new_if
eb60 61 63 65 7d 2e 22 3c 2f 61 3e 3c 68 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 68 32 3e 22 3b 0a 70 ace}."</a><hr>";.print."<h2>";.p
eb80 72 69 6e 74 20 24 74 65 78 74 7b 27 78 69 66 61 63 65 5f 6c 69 73 74 65 6e 27 7d 3b 0a 70 72 69 rint.$text{'xiface_listen'};.pri
eba0 6e 74 20 22 3c 2f 68 32 3e 22 3b 0a 24 63 6f 75 6e 74 3d 30 3b 0a 70 72 69 6e 74 20 26 75 69 5f nt."</h2>";.$count=0;.print.&ui_
ebc0 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 28 20 5b 20 24 74 65 78 74 7b 78 69 66 61 63 65 7d 2c 20 columns_start(.[.$text{xiface},.
ebe0 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 20 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 61 63 68 20 $text{in_use}.],.100.);.foreach.
ec00 6d 79 20 24 69 66 61 63 65 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 65 78 5f 69 6e 74 65 72 66 61 my.$iface.(.@{$config{ex_interfa
ec20 63 65 7d 7d 20 29 0a 7b 0a 09 6d 79 20 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d 78 69 ce}}.).{..my.$edit.=."<a.href=xi
ec40 66 61 63 65 5f 65 64 69 74 2e 63 67 69 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 69 66 61 face_edit.cgi?idx=$count>".$$ifa
ec60 63 65 7b 69 66 61 63 65 7d 2e 22 3c 2f 61 3e 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c ce{iface}."</a>";..print.&ui_col
ec80 75 6d 6e 73 5f 72 6f 77 28 20 5b 20 24 65 64 69 74 2c 20 28 24 24 69 66 61 63 65 7b 75 73 65 64 umns_row(.[.$edit,.($$iface{used
eca0 7d 29 3f 24 74 65 78 74 7b 75 73 65 64 7d 3a 24 74 65 78 74 7b 6e 6f 74 5f 75 73 65 64 7d 20 5d })?$text{used}:$text{not_used}.]
ecc0 2c 0a 20 20 20 20 20 20 20 09 09 5b 20 22 77 69 64 74 68 3d 33 30 25 22 2c 20 22 77 69 64 74 68 ,..........[."width=30%",."width
ece0 3d 33 30 25 22 2c 20 22 77 69 64 74 68 3d 33 30 25 22 20 5d 09 29 3b 0a 09 24 63 6f 75 6e 74 2b =30%",."width=30%".].);..$count+
ed00 2b 3b 0a 7d 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 65 6e 64 28 29 3b 0a 70 72 +;.}.print.&ui_columns_end();.pr
ed20 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 61 74 3d 65 78 int."<br><a.href=add.cgi?what=ex
ed40 63 65 70 74 2d 69 6e 74 65 72 66 61 63 65 3d 6e 65 77 26 77 68 65 72 65 3d 69 66 61 63 65 2e 63 cept-interface=new&where=iface.c
ed60 67 69 3e 22 2e 0a 09 09 24 74 65 78 74 7b 6e 65 77 5f 69 66 61 63 65 7d 2e 22 3c 2f 61 3e 3c 68 gi>"....$text{new_iface}."</a><h
ed80 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 68 32 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 r>";.print."<h2>";.print.$text{'
eda0 6c 69 73 74 65 6e 5f 61 64 64 72 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 68 32 3e 22 3b 0a 24 63 listen_addr'};.print."</h2>";.$c
edc0 6f 75 6e 74 3d 30 3b 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 28 ount=0;.print.&ui_columns_start(
ede0 20 5b 20 24 74 65 78 74 7b 6c 69 73 74 65 6e 5f 61 64 64 72 7d 2c 20 24 74 65 78 74 7b 69 6e 5f .[.$text{listen_addr},.$text{in_
ee00 75 73 65 7d 20 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 61 63 68 20 6d 79 20 24 69 66 61 63 65 use}.],.100.);.foreach.my.$iface
ee20 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 6c 69 73 74 65 6e 5f 6f 6e 7d 7d 20 29 0a 7b 0a 09 6d 79 .(.@{$config{listen_on}}.).{..my
ee40 20 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d 6c 69 73 74 65 6e 5f 65 64 69 74 2e 63 67 .$edit.=."<a.href=listen_edit.cg
ee60 69 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 69 66 61 63 65 7b 61 64 64 72 65 73 73 7d 2e i?idx=$count>".$$iface{address}.
ee80 22 3c 2f 61 3e 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 72 6f 77 28 20 "</a>";..print.&ui_columns_row(.
eea0 5b 20 24 65 64 69 74 2c 20 28 24 24 69 66 61 63 65 7b 75 73 65 64 7d 29 3f 24 74 65 78 74 7b 75 [.$edit,.($$iface{used})?$text{u
eec0 73 65 64 7d 3a 24 74 65 78 74 7b 6e 6f 74 5f 75 73 65 64 7d 20 5d 2c 0a 20 20 20 20 20 20 20 09 sed}:$text{not_used}.],.........
eee0 09 5b 20 22 77 69 64 74 68 3d 33 30 25 22 2c 20 22 77 69 64 74 68 3d 33 30 25 22 2c 20 22 77 69 .[."width=30%",."width=30%",."wi
ef00 64 74 68 3d 33 30 25 22 20 5d 09 29 3b 0a 09 24 63 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 dth=30%".].);..$count++;.}.print
ef20 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 .&ui_columns_end();.print."<br>"
ef40 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 61 ;.print."<br><a.href=add.cgi?wha
ef60 74 3d 6c 69 73 74 65 6e 2d 61 64 64 72 65 73 73 3d 30 2e 30 2e 30 2e 30 26 77 68 65 72 65 3d 69 t=listen-address=0.0.0.0&where=i
ef80 66 61 63 65 2e 63 67 69 3e 22 2e 0a 09 09 24 74 65 78 74 7b 6e 65 77 5f 61 64 64 72 7d 2e 22 3c face.cgi>"....$text{new_addr}."<
efa0 2f 61 3e 3c 68 72 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 /a><hr><br>";.print.&ui_form_sta
efc0 72 74 28 20 27 69 66 61 63 65 5f 61 70 70 6c 79 2e 63 67 69 27 2c 20 22 70 6f 73 74 22 20 29 3b rt(.'iface_apply.cgi',."post".);
efe0 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 62 69 6e 64 5f 69 66 61 63 65 7d 3b 0a 70 72 69 6e 74 20 .print.$text{bind_iface};.print.
f000 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 62 69 6e 64 5f 69 66 61 63 65 22 2c 20 28 &ui_yesno_radio(."bind_iface",.(
f020 24 63 6f 6e 66 69 67 7b 62 69 6e 64 5f 69 6e 74 65 72 66 61 63 65 73 7d 7b 75 73 65 64 7d 29 3f $config{bind_interfaces}{used})?
f040 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 26 75 69 5f 73 75 62 6d 69 74 28 20 1:0.);.print."<br>".&ui_submit(.
f060 24 74 65 78 74 7b 73 61 76 65 5f 62 75 74 74 6f 6e 7d 20 29 3b 0a 70 72 69 6e 74 20 26 75 69 5f $text{save_button}.);.print.&ui_
f080 66 6f 72 6d 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 3c 62 72 3e 3c 61 20 68 72 form_end();.print."<hr><br><a.hr
f0a0 65 66 3d 5c 22 69 6e 64 65 78 2e 63 67 69 5c 22 3e 22 2e 24 74 65 78 74 7b 27 44 4e 53 5f 73 65 ef=\"index.cgi\">".$text{'DNS_se
f0c0 74 74 69 6e 67 73 27 7d 2e 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 ttings'}."</a><br>";.print."<a.h
f0e0 72 65 66 3d 5c 22 73 65 72 76 65 72 73 2e 63 67 69 5c 22 3e 22 2e 24 74 65 78 74 7b 27 73 65 72 ref=\"servers.cgi\">".$text{'ser
f100 76 65 72 73 5f 63 6f 6e 66 69 67 27 7d 2e 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 vers_config'}."</a><br>";.print.
f120 22 3c 61 20 68 72 65 66 3d 5c 22 61 6c 69 61 73 2e 63 67 69 5c 22 3e 22 2e 24 74 65 78 74 7b 27 "<a.href=\"alias.cgi\">".$text{'
f140 61 6c 69 61 73 5f 63 6f 6e 66 69 67 27 7d 2e 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 alias_config'}."</a><br>";.print
f160 20 22 3c 68 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 64 68 63 70 2e 63 ."<hr>";.print."<a.href=\"dhcp.c
f180 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 44 48 43 50 5f 63 6f 6e 66 69 67 gi\">";.print.$text{'DHCP_config
f1a0 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 22 2f '};.print."</a><br>";.&footer("/
f1c0 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 20 75 73 65 73 20 74 68 65 20 69 ",.$text{'index'});.#.uses.the.i
f1e0 6e 64 65 78 20 65 6e 74 72 79 20 69 6e 20 2f 6c 61 6e 67 2f 65 6e 0a 0a 0a 0a 23 23 20 69 66 20 ndex.entry.in./lang/en....##.if.
f200 73 75 62 72 6f 75 74 69 6e 65 73 20 61 72 65 20 6e 6f 74 20 69 6e 20 61 6e 20 65 78 74 72 61 20 subroutines.are.not.in.an.extra.
f220 66 69 6c 65 20 70 75 74 20 74 68 65 6d 20 68 65 72 65 0a 0a 0a 23 23 23 20 45 4e 44 20 6f 66 20 file.put.them.here...###.END.of.
f240 69 66 61 63 65 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 iface.cgi.###...................
f260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f400 64 6e 73 6d 61 73 71 2f 69 66 61 63 65 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 dnsmasq/iface_edit.cgi..........
f420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
f480 30 30 30 34 30 36 31 00 31 30 35 31 32 33 32 34 34 35 31 00 30 31 33 37 36 33 00 20 30 00 00 00 0004061.10512324451.013763..0...
f4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
f520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
f540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
f600 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
f620 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 69 66 61 63 65 5f 65 64 69 74 2e 63 67 69 3b 20 20 ebmin.Module.-.iface_edit.cgi;..
f640 65 64 69 74 20 69 6e 74 65 72 66 61 63 65 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 edit.interface.#....Copyright.(C
f660 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 ).2006.by.Neil.Fisher.#.....#...
f680 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 .This.program.is.free.software;.
f6a0 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d you.can.redistribute.it.and/or.m
f6c0 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 odify.#....it.under.the.terms.of
f6e0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .the.GNU.General.Public.License.
f700 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f as.published.by.#....the.Free.So
f720 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f ftware.Foundation;.either.versio
f740 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 n.2.of.the.License,.or.#....(at.
f760 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a your.option).any.later.version..
f780 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 #.#....This.program.is.distribut
f7a0 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 ed.in.the.hope.that.it.will.be.u
f7c0 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 seful,.#....but.WITHOUT.ANY.WARR
f7e0 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 ANTY;.without.even.the.implied.w
f800 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 arranty.of.#....MERCHANTABILITY.
f820 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 or.FITNESS.FOR.A.PARTICULAR.PURP
f840 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 OSE...See.the.#....GNU.General.P
f860 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a ublic.License.for.more.details..
f880 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f #.#....This.module.inherited.fro
f8a0 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 m.the.Webmin.Module.Template.0.7
f8c0 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 9.1.by.tn..do.'../web-lib.pl';.d
f8e0 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 o.'../ui-lib.pl';.do.'dnsmasq-li
f900 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d b.pl';..$|=1;.&init_config("DNSM
f920 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b asq");..%access=&get_module_acl;
f940 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e ..##.put.in.ACL.checks.here.if.n
f960 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 20 49 6e eeded...##.sanity.checks...##.In
f980 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f 6e sert.Output.code.here.#.read.con
f9a0 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 fig.file.$config_file.=.&read_fi
f9c0 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 29 le_lines(.$config{config_file}.)
f9e0 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 26 70 61 ;.#.pass.into.data.structure.&pa
fa00 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e rse_config_file(.\%config,.\$con
fa20 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 61 0a 26 fig_file.);.#.read.posted.data.&
fa40 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 ReadParse();.#.check.for.errors.
fa60 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 in.read.config.if(.$config{error
fa80 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 s}.>.0.).{..&header(."DNSMasq.se
faa0 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 72 3e 3c 68 32 3e 22 ttings",."".);..print."<hr><h2>"
fac0 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 73 7d 3b 0a 09 70 72 ;..print.$text{warn_errors};..pr
fae0 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 int.$config{errors};..print.$tex
fb00 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c 2f 68 33 3e 3c 68 72 t{didnt_apply};..print."</h3><hr
fb20 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 >\n";..&footer(."/",.$text{'inde
fb40 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 x'});..exit;.}.#.adjust.everythi
fb60 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 64 65 72 28 20 22 44 4e ng.to.what.we.got.#.&header(."DN
fb80 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 20 22 3c 68 SMasq.settings",."".);.print."<h
fba0 32 3e 22 2e 24 74 65 78 74 7b 65 64 69 74 5f 69 66 61 63 65 7d 2e 22 3c 2f 68 32 3e 22 3b 0a 70 2>".$text{edit_iface}."</h2>";.p
fbc0 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 69 66 61 63 65 5f 65 64 69 74 rint.&ui_form_start(."iface_edit
fbe0 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 6e 74 20 26 75 69 _apply.cgi",."post".);.print.&ui
fc00 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 78 7d 20 29 3b 0a 70 72 69 6e _hidden(."idx",.$in{idx}.);.prin
fc20 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f 79 65 73 6e 6f t."<br>".$text{in_use}.&ui_yesno
fc40 5f 72 61 64 69 6f 28 20 22 75 73 65 64 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 69 67 7b 69 6e 74 _radio(."used",.....($config{int
fc60 65 72 66 61 63 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a erface}[$in{idx}]{used})?1:0.);.
fc80 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 66 61 63 65 5f 6e 61 6d 65 7d 3b 0a print."<br>".$text{iface_name};.
fca0 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 69 66 61 63 65 22 2c 20 24 63 6f 6e print.&ui_textbox(."iface",.$con
fcc0 66 69 67 7b 69 6e 74 65 72 66 61 63 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 69 66 61 63 65 7d 2c fig{interface}[$in{idx}]{iface},
fce0 20 35 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 20 2e 20 26 75 69 5f 73 75 .50.);.print."<br><br>"...&ui_su
fd00 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f 6e 27 7d 20 29 2e 22 3c 62 bmit(.$text{'save_button'}.)."<b
fd20 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 r>";.print.&ui_form_end();.print
fd40 20 22 3c 61 20 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f 69 64 78 3d 22 2e 24 69 6e 7b 69 ."<a.href=delete.cgi?idx=".$in{i
fd60 64 78 7d 2e 22 26 77 68 61 74 3d 69 6e 74 65 72 66 61 63 65 26 77 68 65 72 65 3d 69 66 61 63 65 dx}."&what=interface&where=iface
fd80 2e 63 67 69 22 2e 0a 09 22 3e 22 2e 24 74 65 78 74 7b 64 65 6c 65 74 7d 2e 22 3c 2f 61 3e 22 3b .cgi"...">".$text{delet}."</a>";
fda0 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 69 66 61 63 65 2e 63 67 69 3e 22 2e .print."<br><a.href=iface.cgi>".
fdc0 24 74 65 78 74 7b 69 66 61 63 65 5f 63 6f 6e 66 69 67 7d 2e 22 3c 2f 61 3e 22 3b 0a 26 66 6f 6f $text{iface_config}."</a>";.&foo
fde0 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 0a 0a 23 20 ter(."/",.$text{'index'});.#..#.
fe00 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 69 66 61 .#.sub-routines.#.###.END.of.ifa
fe20 63 65 5f 65 64 69 74 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ce_edit.cgi.###.................
fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10000 64 6e 73 6d 61 73 71 2f 68 65 6c 70 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/help/...................
10020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
10080 30 30 30 30 30 30 30 00 31 30 35 30 37 31 32 31 33 32 30 00 30 31 32 31 34 31 00 20 35 00 00 00 0000000.10507121320.012141..5...
100a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
100e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
10120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
10140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
101e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10200 64 6e 73 6d 61 73 71 2f 68 65 6c 70 2f 69 6e 74 72 6f 2e 68 74 6d 6c 00 00 00 00 00 00 00 00 00 dnsmasq/help/intro.html.........
10220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
10280 30 30 30 32 30 32 32 00 31 30 35 30 37 31 32 31 33 32 30 00 30 31 34 31 35 36 00 20 30 00 00 00 0002022.10507121320.014156..0...
102a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
10320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
10340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10400 3c 68 65 61 64 65 72 3e 44 4e 53 6d 61 73 71 20 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 3c 2f 68 <header>DNSmasq.Configuration</h
10420 65 61 64 65 72 3e 0a 0a 3c 68 33 3e 49 6e 74 72 6f 64 75 63 74 69 6f 6e 20 74 6f 20 44 4e 53 6d eader>..<h3>Introduction.to.DNSm
10440 61 73 71 3c 2f 68 33 3e 0a 44 4e 53 6d 61 73 71 20 69 73 20 61 6e 20 69 6e 74 65 67 72 61 74 65 asq</h3>.DNSmasq.is.an.integrate
10460 64 20 44 4e 53 20 63 61 63 68 69 6e 67 20 70 72 6f 78 79 20 73 65 72 76 65 72 20 61 6e 64 20 44 d.DNS.caching.proxy.server.and.D
10480 48 43 50 20 73 65 72 76 65 72 20 64 65 73 69 67 6e 65 64 20 0a 74 6f 20 72 75 6e 20 6f 6e 20 61 HCP.server.designed..to.run.on.a
104a0 20 68 6f 73 74 20 74 68 61 74 20 69 73 20 6d 61 73 71 75 65 72 61 64 69 6e 67 20 61 20 6c 6f 63 .host.that.is.masquerading.a.loc
104c0 61 6c 20 70 72 69 76 61 74 65 20 6e 65 74 77 6f 72 6b 20 74 6f 20 74 68 65 20 72 65 73 74 0a 6f al.private.network.to.the.rest.o
104e0 66 20 74 68 65 20 69 6e 74 65 72 6e 65 74 2e 20 3c 70 3e 0a 3c 68 33 3e 43 6f 6e 66 69 67 75 72 f.the.internet..<p>.<h3>Configur
10500 69 6e 67 20 44 4e 53 6d 61 73 71 3c 2f 68 33 3e 0a 49 6e 20 6d 6f 73 74 20 63 61 73 65 73 2c 20 ing.DNSmasq</h3>.In.most.cases,.
10520 61 6c 6c 20 79 6f 75 27 6c 6c 20 6e 65 65 64 20 74 6f 20 63 68 61 6e 67 65 20 77 69 6c 6c 20 62 all.you'll.need.to.change.will.b
10540 65 20 74 68 65 20 6c 6f 63 61 6c 20 64 6f 6d 61 69 6e 20 6e 61 6d 65 2e 20 55 6e 64 65 72 0a 73 e.the.local.domain.name..Under.s
10560 6f 6d 65 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 2c 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 20 ome.circumstances,.you.may.want.
10580 74 6f 20 63 68 61 6e 67 65 20 68 6f 77 20 44 4e 53 6d 61 73 71 20 72 65 73 6f 6c 76 65 73 20 6e to.change.how.DNSmasq.resolves.n
105a0 61 6d 65 73 20 74 6f 0a 61 6c 6c 6f 77 20 66 6f 72 20 6f 74 68 65 72 20 6c 6f 63 61 6c 20 6e 61 ames.to.allow.for.other.local.na
105c0 6d 65 73 65 72 76 65 72 73 20 28 69 66 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 79 6f 75 20 61 72 meservers.(if.for.example.you.ar
105e0 65 20 75 73 69 6e 67 20 61 20 56 50 4e 0a 74 75 6e 6e 65 6c 20 74 6f 20 61 6e 6f 74 68 65 72 20 e.using.a.VPN.tunnel.to.another.
10600 6c 6f 63 61 74 69 6f 6e 29 2e 3c 70 3e 0a 41 6c 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 61 6c location).<p>.All.the.functional
10620 69 74 79 20 6f 66 20 44 4e 53 6d 61 73 71 20 69 73 20 62 65 79 6f 6e 64 20 74 68 65 20 73 63 6f ity.of.DNSmasq.is.beyond.the.sco
10640 70 65 20 6f 66 20 74 68 69 73 20 68 65 6c 70 20 66 69 6c 65 20 2d 20 0a 70 6c 65 61 73 65 20 72 pe.of.this.help.file.-..please.r
10660 65 61 64 20 74 68 65 20 6d 61 6e 20 70 61 67 65 73 21 0a 3c 68 33 3e 4c 69 6d 69 74 61 74 69 6f ead.the.man.pages!.<h3>Limitatio
10680 6e 73 3c 2f 68 33 3e 0a 50 6c 65 61 73 65 20 72 65 61 64 20 74 68 65 20 52 45 41 44 4d 45 20 66 ns</h3>.Please.read.the.README.f
106a0 69 6c 65 2e 3c 62 72 3e 0a 49 6e 20 53 68 6f 72 74 2c 20 74 68 69 73 20 69 73 20 61 20 71 75 69 ile.<br>.In.Short,.this.is.a.qui
106c0 63 6b 20 61 6e 64 20 64 69 72 74 79 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 77 69 74 68 ck.and.dirty.implementation.with
106e0 20 76 69 72 74 75 61 6c 6c 79 20 3c 65 6d 3e 0a 09 6e 6f 20 65 72 72 6f 72 20 63 68 65 63 6b 69 .virtually.<em>..no.error.checki
10700 6e 67 3c 2f 65 6d 3e 2e 20 54 68 65 72 65 66 6f 72 65 2c 20 69 74 20 61 73 73 75 6d 65 73 20 3c ng</em>..Therefore,.it.assumes.<
10720 65 6d 3e 79 6f 75 0a 09 6b 6e 6f 77 20 77 68 61 74 20 79 6f 75 20 61 72 65 20 64 6f 69 6e 67 21 em>you..know.what.you.are.doing!
10740 3c 2f 65 6d 3e 20 3c 62 72 3e 0a 3c 68 33 3e 55 73 65 20 77 69 74 68 20 63 61 72 65 21 3c 2f 68 </em>.<br>.<h3>Use.with.care!</h
10760 33 3e 20 49 66 20 79 6f 75 20 65 6e 74 65 72 20 61 20 6e 61 6d 65 20 77 68 65 72 65 20 61 20 49 3>.If.you.enter.a.name.where.a.I
10780 50 20 61 64 64 72 65 73 73 20 0a 73 68 6f 75 6c 64 20 62 65 20 28 66 6f 72 20 65 78 61 6d 70 6c P.address..should.be.(for.exampl
107a0 65 29 20 74 68 65 6e 20 79 6f 75 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 65 64 69 74 20 74 68 65 e).then.you.may.need.to.edit.the
107c0 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 6d 61 6e 75 61 6c 6c 79 20 74 6f 20 72 65 6d 6f 76 65 20 .config.file.manually.to.remove.
107e0 6f 72 20 65 64 69 74 20 74 68 65 20 6f 66 66 65 6e 64 69 6e 67 20 6c 69 6e 65 2e 20 59 4f 55 20 or.edit.the.offending.line..YOU.
10800 48 41 56 45 20 42 45 45 4e 20 57 41 52 4e 45 44 21 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 HAVE.BEEN.WARNED!...............
10820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a00 64 6e 73 6d 61 73 71 2f 61 6c 69 61 73 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/alias.cgi...............
10a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
10a80 30 30 30 37 35 34 30 00 31 30 35 31 32 36 32 37 32 35 31 00 30 31 33 30 31 31 00 20 30 00 00 00 0007540.10512627251.013011..0...
10aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
10b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
10b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
10c20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 61 6c 69 61 73 2e 63 67 69 3b 20 61 6c 69 61 73 69 ebmin.Module.-.alias.cgi;.aliasi
10c40 6e 67 20 61 6e 64 20 72 65 64 69 72 65 63 74 69 6f 6e 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 ng.and.redirection.#....Copyrigh
10c60 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a t.(C).2006.by.Neil.Fisher.#.....
10c80 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 #....This.program.is.free.softwa
10ca0 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f re;.you.can.redistribute.it.and/
10cc0 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d or.modify.#....it.under.the.term
10ce0 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 s.of.the.GNU.General.Public.Lice
10d00 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 nse.as.published.by.#....the.Fre
10d20 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 e.Software.Foundation;.either.ve
10d40 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 rsion.2.of.the.License,.or.#....
10d60 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 (at.your.option).any.later.versi
10d80 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 on..#.#....This.program.is.distr
10da0 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 ibuted.in.the.hope.that.it.will.
10dc0 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 be.useful,.#....but.WITHOUT.ANY.
10de0 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 WARRANTY;.without.even.the.impli
10e00 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c ed.warranty.of.#....MERCHANTABIL
10e20 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
10e40 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 PURPOSE...See.the.#....GNU.Gener
10e60 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 al.Public.License.for.more.detai
10e80 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 ls..#.#....This.module.inherited
10ea0 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 .from.the.Webmin.Module.Template
10ec0 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c .0.79.1.by.tn..do.'../web-lib.pl
10ee0 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 ';.do.'../ui-lib.pl';.do.'dnsmas
10f00 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 q-lib.pl';..$|=1;.&init_config("
10f20 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f DNSMasq");..%access=&get_module_
10f40 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 acl;..##.put.in.ACL.checks.here.
10f60 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 if.needed...##.sanity.checks...#
10f80 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 #.Insert.Output.code.here.#.read
10fa0 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 .config.file.$config_file.=.&rea
10fc0 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c d_file_lines(.$config{config_fil
10fe0 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 e}.);.#.pass.into.data.structure
11000 0a 0a 0a 23 20 6f 75 74 70 75 74 20 61 73 20 77 65 62 20 70 61 67 65 0a 0a 0a 26 70 61 72 73 65 ...#.output.as.web.page...&parse
11020 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 _config_file(.\%config,.\$config
11040 5f 66 69 6c 65 20 29 3b 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 _file.);.if(.$config{errors}.>.0
11060 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 .).{..my.$line="error.cgi?line=x
11080 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 x&type=".$text{err_configbad};..
110a0 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 26 68 65 &redirect(.$line.);..exit;.}.&he
110c0 61 64 65 72 28 24 74 65 78 74 7b 27 69 6e 64 65 78 5f 74 69 74 6c 65 27 7d 2c 20 22 22 2c 20 22 ader($text{'index_title'},."",."
110e0 69 6e 74 72 6f 22 2c 20 31 2c 20 31 2c 20 75 6e 64 65 66 2c 0a 20 20 20 20 20 20 20 20 22 57 72 intro",.1,.1,.undef,........."Wr
11100 69 74 74 65 6e 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 3c 42 52 3e 3c 41 20 48 52 45 46 3d itten.by.Neil.Fisher<BR><A.HREF=
11120 6d 61 69 6c 74 6f 3a 6e 65 69 6c 5c 40 6d 61 67 6e 65 63 6f 72 2e 63 6f 6d 2e 61 75 3e 41 75 74 mailto:neil\@magnecor.com.au>Aut
11140 68 6f 72 3c 2f 41 3e 3c 42 52 3e 3c 41 20 48 52 45 46 3d 68 74 74 70 3a 2f 2f 77 77 77 2e 61 75 hor</A><BR><A.HREF=http://www.au
11160 74 68 6f 72 70 61 67 65 2e 69 6e 76 61 6c 69 64 3e 48 6f 6d 65 3a 2f 2f 70 61 67 65 3c 2f 41 3e thorpage.invalid>Home://page</A>
11180 22 29 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 5c 6e 22 3b 0a 23 20 75 73 65 73 20 74 68 65 20 69 ");.print."<hr>\n";.#.uses.the.i
111a0 6e 64 65 78 5f 74 69 74 6c 65 20 65 6e 74 72 79 20 66 72 6f 6d 20 2e 2f 6c 61 6e 67 2f 65 6e 20 ndex_title.entry.from../lang/en.
111c0 6f 72 20 61 70 70 72 6f 70 72 69 61 74 65 0a 70 72 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a 70 or.appropriate.print."<br>\n";.p
111e0 72 69 6e 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 7d 2e 22 3c 2f 68 32 3e rint."<h2>".$text{forced}."</h2>
11200 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 6d 79 20 24 63 6f 75 6e 74 ";.print."<br><br>\n";.my.$count
11220 3d 30 3b 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 28 20 5b 20 24 =0;.print.&ui_columns_start(.[.$
11240 74 65 78 74 7b 66 6f 72 63 65 64 5f 64 6f 6d 61 69 6e 7d 2c 20 24 74 65 78 74 7b 66 6f 72 63 65 text{forced_domain},.$text{force
11260 64 5f 69 70 7d 2c 0a 09 09 09 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 20 5d 2c 20 31 30 30 20 29 d_ip},....$text{in_use}.],.100.)
11280 3b 0a 66 6f 72 65 61 63 68 20 6d 79 20 24 66 72 63 64 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 66 ;.foreach.my.$frcd.(.@{$config{f
112a0 6f 72 63 65 64 7d 7d 20 29 0a 7b 0a 09 6d 79 20 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 orced}}.).{..my.$edit.=."<a.href
112c0 3d 66 6f 72 63 65 64 5f 65 64 69 74 2e 63 67 69 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 =forced_edit.cgi?idx=$count>".$$
112e0 66 72 63 64 7b 64 6f 6d 61 69 6e 7d 2e 22 3c 2f 61 3e 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 5f frcd{domain}."</a>";..print.&ui_
11300 63 6f 6c 75 6d 6e 73 5f 72 6f 77 28 20 5b 20 24 65 64 69 74 2c 20 24 24 66 72 63 64 7b 61 64 64 columns_row(.[.$edit,.$$frcd{add
11320 72 7d 2c 20 28 24 24 66 72 63 64 7b 75 73 65 64 7d 29 20 3f 0a 09 09 09 24 74 65 78 74 7b 75 73 r},.($$frcd{used}).?....$text{us
11340 65 64 7d 20 3a 20 24 74 65 78 74 7b 6e 6f 74 5f 75 73 65 64 7d 20 5d 2c 0a 09 09 09 5b 20 22 77 ed}.:.$text{not_used}.],....[."w
11360 69 64 74 68 3d 33 30 25 22 2c 20 22 77 69 64 74 68 3d 33 30 25 22 2c 20 22 77 69 64 74 68 3d 33 idth=30%",."width=30%",."width=3
11380 30 25 22 20 5d 20 29 3b 0a 09 24 63 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 20 26 75 69 5f 0%".].);..$count++;.}.print.&ui_
113a0 63 6f 6c 75 6d 6e 73 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a 70 columns_end();.print."<br>\n";.p
113c0 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 61 74 3d 61 64 64 72 65 rint."<a.href=add.cgi?what=addre
113e0 73 73 3d 2f 6e 65 77 2f 30 2e 30 2e 30 2e 30 26 77 68 65 72 65 3d 61 6c 69 61 73 2e 63 67 69 3e ss=/new/0.0.0.0&where=alias.cgi>
11400 22 2e 0a 09 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 61 64 64 7d 2e 22 3c 2f 61 3e 22 3b 0a 70 72 "...$text{forced_add}."</a>";.pr
11420 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 int."<br>\n";.print."<br><br>\n"
11440 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a ;.print."<hr>";.print."<br>\n";.
11460 70 72 69 6e 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 61 6c 69 61 73 7d 2e 22 3c 2f 68 32 3e print."<h2>".$text{alias}."</h2>
11480 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 24 63 6f 75 6e 74 3d 30 3b ";.print."<br><br>\n";.$count=0;
114a0 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 28 20 5b 20 24 74 65 78 .print.&ui_columns_start(.[.$tex
114c0 74 7b 66 6f 72 63 65 64 5f 66 72 6f 6d 7d 2c 20 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 69 70 7d t{forced_from},.$text{forced_ip}
114e0 2c 0a 09 09 09 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 6d 61 73 6b 7d 2c 20 24 74 65 78 74 7b 69 ,....$text{forced_mask},.$text{i
11500 6e 5f 75 73 65 7d 20 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 61 63 68 20 6d 79 20 24 66 72 63 n_use}.],.100.);.foreach.my.$frc
11520 64 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 61 6c 69 61 73 7d 7d 20 29 0a 7b 0a 09 6d 79 20 24 65 d.(.@{$config{alias}}.).{..my.$e
11540 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d 61 6c 69 61 73 5f 65 64 69 74 2e 63 67 69 3f 69 64 dit.=."<a.href=alias_edit.cgi?id
11560 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 66 72 63 64 7b 66 72 6f 6d 7d 2e 22 3c 2f 61 3e 22 3b 0a x=$count>".$$frcd{from}."</a>";.
11580 09 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 72 6f 77 28 20 5b 20 0a 09 09 09 24 65 .print.&ui_columns_row(.[.....$e
115a0 64 69 74 2c 20 24 24 66 72 63 64 7b 74 6f 7d 2c 20 0a 09 09 09 28 24 24 66 72 63 64 7b 6e 65 74 dit,.$$frcd{to},.....($$frcd{net
115c0 6d 61 73 6b 5f 75 73 65 64 7d 29 20 3f 20 20 0a 09 09 09 09 24 24 66 72 63 64 7b 6e 65 74 6d 61 mask_used}).?.......$$frcd{netma
115e0 73 6b 7d 20 3a 20 22 32 35 35 2e 32 35 35 2e 32 35 35 2e 32 35 35 22 2c 0a 09 09 09 28 24 24 66 sk}.:."255.255.255.255",....($$f
11600 72 63 64 7b 75 73 65 64 7d 29 20 3f 0a 09 09 09 09 24 74 65 78 74 7b 75 73 65 64 7d 20 3a 20 24 rcd{used}).?.....$text{used}.:.$
11620 74 65 78 74 7b 6e 6f 74 5f 75 73 65 64 7d 20 5d 2c 0a 09 09 09 5b 20 22 77 69 64 74 68 3d 32 35 text{not_used}.],....[."width=25
11640 25 22 2c 20 22 77 69 64 74 68 3d 32 35 25 22 2c 20 22 77 69 64 74 68 3d 32 35 25 22 2c 20 22 77 %",."width=25%",."width=25%",."w
11660 69 64 74 68 3d 32 35 25 22 20 5d 20 29 3b 0a 09 24 63 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e idth=25%".].);..$count++;.}.prin
11680 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e t.&ui_columns_end();.print."<br>
116a0 5c 6e 22 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 61 74 \n";.print."<a.href=add.cgi?what
116c0 3d 61 6c 69 61 73 3d 30 2e 30 2e 30 2e 30 2c 30 2e 30 2e 30 2e 30 26 77 68 65 72 65 3d 61 6c 69 =alias=0.0.0.0,0.0.0.0&where=ali
116e0 61 73 2e 63 67 69 3e 22 2e 0a 09 24 74 65 78 74 7b 61 6c 69 61 73 5f 61 64 64 7d 2e 22 3c 2f 61 as.cgi>"...$text{alias_add}."</a
11700 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 22 >";.print."<br>\n";.print."<hr>"
11720 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 22 3c 68 32 3e 22 2e 24 ;.print."<br>\n";.print."<h2>".$
11740 74 65 78 74 7b 6e 78 7d 2e 22 3c 2f 68 32 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 text{nx}."</h2>";.print."<br><br
11760 3e 5c 6e 22 3b 0a 24 63 6f 75 6e 74 3d 30 3b 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e >\n";.$count=0;.print.&ui_column
11780 73 5f 73 74 61 72 74 28 20 5b 20 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 66 72 6f 6d 7d 2c 20 24 s_start(.[.$text{forced_from},.$
117a0 74 65 78 74 7b 69 6e 5f 75 73 65 7d 20 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 61 63 68 20 6d text{in_use}.],.100.);.foreach.m
117c0 79 20 24 66 72 63 64 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 62 6f 67 75 73 7d 7d 20 29 0a 7b 0a y.$frcd.(.@{$config{bogus}}.).{.
117e0 09 6d 79 20 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d 6e 78 5f 65 64 69 74 2e 63 67 69 .my.$edit.=."<a.href=nx_edit.cgi
11800 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 66 72 63 64 7b 61 64 64 72 7d 2e 22 3c 2f 61 3e ?idx=$count>".$$frcd{addr}."</a>
11820 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 72 6f 77 28 20 5b 20 0a 09 09 ";..print.&ui_columns_row(.[....
11840 09 24 65 64 69 74 2c 20 0a 09 09 09 28 24 24 66 72 63 64 7b 75 73 65 64 7d 29 20 3f 0a 09 09 09 .$edit,.....($$frcd{used}).?....
11860 09 24 74 65 78 74 7b 75 73 65 64 7d 20 3a 20 24 74 65 78 74 7b 6e 6f 74 5f 75 73 65 64 7d 20 5d .$text{used}.:.$text{not_used}.]
11880 2c 0a 09 09 09 5b 20 22 77 69 64 74 68 3d 35 30 25 22 2c 20 22 77 69 64 74 68 3d 35 30 25 22 20 ,....[."width=50%",."width=50%".
118a0 5d 20 29 3b 0a 09 24 63 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 ].);..$count++;.}.print.&ui_colu
118c0 6d 6e 73 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 mns_end();.print."<br>\n";.print
118e0 20 22 3c 61 20 68 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 61 74 3d 62 6f 67 75 73 2d 6e 78 64 ."<a.href=add.cgi?what=bogus-nxd
11900 6f 6d 61 69 6e 3d 30 2e 30 2e 30 2e 30 26 77 68 65 72 65 3d 61 6c 69 61 73 2e 63 67 69 3e 22 2e omain=0.0.0.0&where=alias.cgi>".
11920 0a 09 24 74 65 78 74 7b 6e 78 5f 61 64 64 7d 2e 22 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 20 22 3c ..$text{nx_add}."</a>";.print."<
11940 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 br>\n";.print."<hr>";.print."<br
11960 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 5c 6e 22 3b 0a 70 72 ><br>\n";.print."<br><br>\n";.pr
11980 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 69 6e 64 65 78 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 int."<a.href=\"index.cgi\">";.pr
119a0 69 6e 74 20 24 74 65 78 74 7b 27 44 4e 53 5f 73 65 74 74 69 6e 67 73 27 7d 3b 0a 70 72 69 6e 74 int.$text{'DNS_settings'};.print
119c0 20 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 73 65 ."</a><br>";.print."<a.href=\"se
119e0 72 76 65 72 73 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 44 4e 53 5f rvers.cgi\">";.print.$text{'DNS_
11a00 73 65 72 76 65 72 73 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 servers'};.print."</a><br>";.pri
11a20 6e 74 20 22 3c 61 20 68 72 65 66 3d 5c 22 69 66 61 63 65 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 nt."<a.href=\"iface.cgi\">";.pri
11a40 6e 74 20 24 74 65 78 74 7b 27 69 66 61 63 65 5f 63 6f 6e 66 69 67 27 7d 3b 0a 70 72 69 6e 74 20 nt.$text{'iface_config'};.print.
11a60 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 68 72 3e 22 3b 0a 70 72 69 6e 74 20 "</a><br>";.print."<hr>";.print.
11a80 22 3c 61 20 68 72 65 66 3d 5c 22 64 68 63 70 2e 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 20 24 "<a.href=\"dhcp.cgi\">";.print.$
11aa0 74 65 78 74 7b 27 44 48 43 50 5f 63 6f 6e 66 69 67 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 61 3e text{'DHCP_config'};.print."</a>
11ac0 3c 62 72 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 <br>";.&footer("/",.$text{'index
11ae0 27 7d 29 3b 0a 23 20 75 73 65 73 20 74 68 65 20 69 6e 64 65 78 20 65 6e 74 72 79 20 69 6e 20 2f '});.#.uses.the.index.entry.in./
11b00 6c 61 6e 67 2f 65 6e 0a 0a 0a 0a 23 23 20 69 66 20 73 75 62 72 6f 75 74 69 6e 65 73 20 61 72 65 lang/en....##.if.subroutines.are
11b20 20 6e 6f 74 20 69 6e 20 61 6e 20 65 78 74 72 61 20 66 69 6c 65 20 70 75 74 20 74 68 65 6d 20 68 .not.in.an.extra.file.put.them.h
11b40 65 72 65 0a 0a 0a 23 23 23 20 45 4e 44 20 6f 66 20 61 6c 69 61 73 2e 63 67 69 20 23 23 23 2e 0a ere...###.END.of.alias.cgi.###..
11b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c00 64 6e 73 6d 61 73 71 2f 64 68 63 70 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/dhcp.cgi................
11c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
11c80 30 30 31 33 30 36 30 00 31 30 35 31 32 33 34 37 33 34 35 00 30 31 32 36 33 33 00 20 30 00 00 00 0013060.10512347345.012633..0...
11ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
11d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
11d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
11e20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 64 68 63 70 2e 63 67 69 3b 20 44 48 43 50 20 63 6f ebmin.Module.-.dhcp.cgi;.DHCP.co
11e40 6e 66 69 67 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 nfig.#....Copyright.(C).2006.by.
11e60 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 Neil.Fisher.#.....#....This.prog
11e80 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 ram.is.free.software;.you.can.re
11ea0 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 distribute.it.and/or.modify.#...
11ec0 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 .it.under.the.terms.of.the.GNU.G
11ee0 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 eneral.Public.License.as.publish
11f00 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 ed.by.#....the.Free.Software.Fou
11f20 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 ndation;.either.version.2.of.the
11f40 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f .License,.or.#....(at.your.optio
11f60 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 n).any.later.version..#.#....Thi
11f80 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 s.program.is.distributed.in.the.
11fa0 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 hope.that.it.will.be.useful,.#..
11fc0 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ..but.WITHOUT.ANY.WARRANTY;.with
11fe0 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
12000 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 .#....MERCHANTABILITY.or.FITNESS
12020 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 .FOR.A.PARTICULAR.PURPOSE...See.
12040 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 the.#....GNU.General.Public.Lice
12060 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 nse.for.more.details..#.#....Thi
12080 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d s.module.inherited.from.the.Webm
120a0 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a in.Module.Template.0.79.1.by.tn.
120c0 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c .do.'../web-lib.pl';.do.'../ui-l
120e0 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c ib.pl';.do.'dnsmasq-lib.pl';..$|
12100 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 =1;.&init_config("DNSMasq");..%a
12120 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 ccess=&get_module_acl;..##.put.i
12140 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 n.ACL.checks.here.if.needed...##
12160 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 26 68 65 61 64 65 72 28 24 74 65 78 74 7b 27 69 .sanity.checks..&header($text{'i
12180 6e 64 65 78 5f 74 69 74 6c 65 27 7d 2c 20 22 22 2c 20 22 69 6e 74 72 6f 22 2c 20 31 2c 20 31 2c ndex_title'},."",."intro",.1,.1,
121a0 20 75 6e 64 65 66 2c 0a 20 20 20 20 20 20 20 20 22 57 72 69 74 74 65 6e 20 62 79 20 4e 65 69 6c .undef,........."Written.by.Neil
121c0 20 46 69 73 68 65 72 3c 42 52 3e 3c 41 20 48 52 45 46 3d 6d 61 69 6c 74 6f 3a 6e 65 69 6c 5c 40 .Fisher<BR><A.HREF=mailto:neil\@
121e0 6d 61 67 6e 65 63 6f 72 2e 63 6f 6d 2e 61 75 3e 41 75 74 68 6f 72 3c 2f 41 3e 3c 42 52 3e 3c 41 magnecor.com.au>Author</A><BR><A
12200 20 48 52 45 46 3d 68 74 74 70 3a 2f 2f 77 77 77 2e 61 75 74 68 6f 72 70 61 67 65 2e 69 6e 76 61 .HREF=http://www.authorpage.inva
12220 6c 69 64 3e 48 6f 6d 65 3a 2f 2f 70 61 67 65 3c 2f 41 3e 22 29 3b 0a 23 20 75 73 65 73 20 74 68 lid>Home://page</A>");.#.uses.th
12240 65 20 69 6e 64 65 78 5f 74 69 74 6c 65 20 65 6e 74 72 79 20 66 72 6f 6d 20 2e 2f 6c 61 6e 67 2f e.index_title.entry.from../lang/
12260 65 6e 20 6f 72 20 61 70 70 72 6f 70 72 69 61 74 65 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 en.or.appropriate..##.Insert.Out
12280 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 put.code.here.#.read.config.file
122a0 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 .$config_file.=.&read_file_lines
122c0 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 (.$config{config_file}.);.#.pass
122e0 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 0a 0a 23 20 6f 75 74 70 75 74 20 .into.data.structure...#.output.
12300 61 73 20 77 65 62 20 70 61 67 65 0a 0a 0a 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 as.web.page...&header(."DNSMasq.
12320 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 settings",."".);.&parse_config_f
12340 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a ile(.\%config,.\$config_file.);.
12360 70 72 69 6e 74 20 22 3c 68 72 3e 5c 6e 22 3b 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f print."<hr>\n";.if(.$config{erro
12380 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 70 72 69 6e 74 20 22 3c 68 33 3e 57 41 52 4e 49 4e 47 3a rs}.>.0.).{..print."<h3>WARNING:
123a0 20 66 6f 75 6e 64 20 22 3b 0a 09 70 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d .found.";..print.$config{errors}
123c0 3b 0a 09 70 72 69 6e 74 20 22 65 72 72 6f 72 73 20 69 6e 20 63 6f 6e 66 69 67 20 66 69 6c 65 21 ;..print."errors.in.config.file!
123e0 3c 2f 68 33 3e 3c 62 72 3e 5c 6e 22 3b 0a 7d 0a 70 72 69 6e 74 20 22 3c 62 72 3e 5c 6e 22 3b 0a </h3><br>\n";.}.print."<br>\n";.
12400 70 72 69 6e 74 20 22 3c 68 32 3e 24 74 65 78 74 7b 27 44 48 43 50 5f 73 65 74 74 69 6e 67 73 27 print."<h2>$text{'DHCP_settings'
12420 7d 3c 2f 68 32 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 5c 6e 22 3b }</h2>";.print."<br><hr><br>\n";
12440 0a 6d 79 20 24 63 6f 75 6e 74 3b 0a 6d 79 20 24 77 69 64 74 68 3b 0a 24 63 6f 75 6e 74 3d 30 3b .my.$count;.my.$width;.$count=0;
12460 0a 24 77 69 64 74 68 3d 22 77 69 64 74 68 3d 33 33 25 22 3b 0a 70 72 69 6e 74 20 22 3c 68 32 3e .$width="width=33%";.print."<h2>
12480 22 2e 24 74 65 78 74 7b 76 65 6e 64 6f 72 5f 63 6c 61 73 73 65 73 7d 2e 22 3c 2f 68 32 3e 22 3b ".$text{vendor_classes}."</h2>";
124a0 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 28 20 5b 20 24 74 65 78 .print.&ui_columns_start(.[.$tex
124c0 74 7b 63 6c 61 73 73 7d 2c 0a 09 09 09 09 24 74 65 78 74 7b 76 65 6e 64 6f 72 7d 2c 20 24 74 65 t{class},.....$text{vendor},.$te
124e0 78 74 7b 69 6e 5f 75 73 65 7d 20 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 61 63 68 20 6d 79 20 xt{in_use}.],.100.);.foreach.my.
12500 24 72 61 6e 67 65 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 76 65 6e 64 6f 72 5f 63 6c 61 73 73 7d $range.(.@{$config{vendor_class}
12520 7d 20 29 0a 7b 0a 09 6d 79 20 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d 76 65 6e 64 5f }.).{..my.$edit.=."<a.href=vend_
12540 65 64 69 74 2e 63 67 69 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 72 61 6e 67 65 7b 63 6c edit.cgi?idx=$count>".$$range{cl
12560 61 73 73 7d 2e 22 3c 2f 61 3e 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f ass}."</a>";..print.&ui_columns_
12580 72 6f 77 28 20 5b 0a 09 09 09 24 65 64 69 74 2c 20 24 24 72 61 6e 67 65 7b 76 65 6e 64 6f 72 7d row(.[....$edit,.$$range{vendor}
125a0 2c 0a 09 09 09 28 24 24 72 61 6e 67 65 7b 75 73 65 64 7d 29 20 3f 0a 09 09 09 09 24 74 65 78 74 ,....($$range{used}).?.....$text
125c0 7b 75 73 65 64 7d 20 3a 20 24 74 65 78 74 7b 6e 6f 74 5f 75 73 65 64 7d 20 5d 2c 0a 09 09 09 5b {used}.:.$text{not_used}.],....[
125e0 20 24 77 69 64 74 68 2c 20 24 77 69 64 74 68 2c 20 24 77 69 64 74 68 20 5d 20 29 3b 0a 09 24 63 .$width,.$width,.$width.].);..$c
12600 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 65 6e 64 28 ount++;.}.print.&ui_columns_end(
12620 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 );.print."<br><a.href=add.cgi?wh
12640 61 74 3d 64 68 63 70 2d 76 65 6e 64 6f 72 63 6c 61 73 73 3d 6e 65 77 26 77 68 65 72 65 3d 64 68 at=dhcp-vendorclass=new&where=dh
12660 63 70 2e 63 67 69 3e 22 2e 0a 09 09 24 74 65 78 74 7b 76 65 6e 64 5f 61 64 64 7d 2e 22 3c 2f 61 cp.cgi>"....$text{vend_add}."</a
12680 3e 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 22 3b 0a 24 63 6f 75 6e 74 3d 30 3b 0a 24 77 69 64 74 68 ><br><hr><br>";.$count=0;.$width
126a0 3d 22 77 69 64 74 68 3d 33 33 25 22 3b 0a 70 72 69 6e 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 ="width=33%";.print."<h2>".$text
126c0 7b 75 73 65 72 5f 63 6c 61 73 73 65 73 7d 2e 22 3c 2f 68 32 3e 22 3b 0a 70 72 69 6e 74 20 26 75 {user_classes}."</h2>";.print.&u
126e0 69 5f 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 28 20 5b 20 24 74 65 78 74 7b 63 6c 61 73 73 7d 2c i_columns_start(.[.$text{class},
12700 0a 09 09 09 09 24 74 65 78 74 7b 75 73 65 72 7d 2c 20 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 20 .....$text{user},.$text{in_use}.
12720 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 61 63 68 20 6d 79 20 24 72 61 6e 67 65 20 28 20 40 7b ],.100.);.foreach.my.$range.(.@{
12740 24 63 6f 6e 66 69 67 7b 75 73 65 72 5f 63 6c 61 73 73 7d 7d 20 29 0a 7b 0a 09 6d 79 20 24 65 64 $config{user_class}}.).{..my.$ed
12760 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d 75 73 65 72 5f 65 64 69 74 2e 63 67 69 3f 69 64 78 3d it.=."<a.href=user_edit.cgi?idx=
12780 24 63 6f 75 6e 74 3e 22 2e 24 24 72 61 6e 67 65 7b 63 6c 61 73 73 7d 2e 22 3c 2f 61 3e 22 3b 0a $count>".$$range{class}."</a>";.
127a0 09 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 72 6f 77 28 20 5b 0a 09 09 09 24 65 64 .print.&ui_columns_row(.[....$ed
127c0 69 74 2c 20 24 24 72 61 6e 67 65 7b 75 73 65 72 7d 2c 0a 09 09 09 28 24 24 72 61 6e 67 65 7b 75 it,.$$range{user},....($$range{u
127e0 73 65 64 7d 29 20 3f 0a 09 09 09 09 24 74 65 78 74 7b 75 73 65 64 7d 20 3a 20 24 74 65 78 74 7b sed}).?.....$text{used}.:.$text{
12800 6e 6f 74 5f 75 73 65 64 7d 20 5d 2c 0a 09 09 09 5b 20 24 77 69 64 74 68 2c 20 24 77 69 64 74 68 not_used}.],....[.$width,.$width
12820 2c 20 24 77 69 64 74 68 20 5d 20 29 3b 0a 09 24 63 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 ,.$width.].);..$count++;.}.print
12840 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c .&ui_columns_end();.print."<br><
12860 61 20 68 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 61 74 3d 64 68 63 70 2d 75 73 65 72 63 6c 61 a.href=add.cgi?what=dhcp-usercla
12880 73 73 3d 6e 65 77 26 77 68 65 72 65 3d 64 68 63 70 2e 63 67 69 3e 22 2e 0a 09 09 24 74 65 78 74 ss=new&where=dhcp.cgi>"....$text
128a0 7b 75 73 65 72 5f 61 64 64 7d 2e 22 3c 2f 61 3e 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 22 3b 0a 24 {user_add}."</a><br><hr><br>";.$
128c0 63 6f 75 6e 74 3d 30 3b 0a 24 77 69 64 74 68 3d 22 32 30 25 22 3b 0a 70 72 69 6e 74 20 22 3c 68 count=0;.$width="20%";.print."<h
128e0 32 3e 22 2e 24 74 65 78 74 7b 64 68 63 70 5f 72 61 6e 67 65 7d 2e 22 3c 2f 68 32 3e 22 3b 0a 70 2>".$text{dhcp_range}."</h2>";.p
12900 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 28 20 5b 20 24 74 65 78 74 7b rint.&ui_columns_start(.[.$text{
12920 6e 65 74 5f 69 64 7d 2c 20 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 66 72 6f 6d 7d 2c 20 24 74 65 net_id},.$text{forced_from},.$te
12940 78 74 7b 66 6f 72 63 65 64 5f 69 70 7d 2c 0a 09 09 09 09 24 74 65 78 74 7b 66 6f 72 63 65 64 5f xt{forced_ip},.....$text{forced_
12960 6d 61 73 6b 7d 2c 20 24 74 65 78 74 7b 6c 65 61 73 65 74 69 6d 65 7d 2c 0a 09 09 09 20 20 20 20 mask},.$text{leasetime},........
12980 20 20 20 20 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 09 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 ....$text{in_use}.],.100.);.fore
129a0 61 63 68 20 6d 79 20 24 72 61 6e 67 65 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 72 ach.my.$range.(.@{$config{dhcp_r
129c0 61 6e 67 65 7d 7d 20 29 0a 7b 0a 09 6d 79 20 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d ange}}.).{..my.$edit.=."<a.href=
129e0 72 61 6e 67 65 5f 65 64 69 74 2e 63 67 69 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 72 61 range_edit.cgi?idx=$count>".$$ra
12a00 6e 67 65 7b 73 74 61 72 74 7d 2e 22 3c 2f 61 3e 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 5f 63 6f nge{start}."</a>";..print.&ui_co
12a20 6c 75 6d 6e 73 5f 72 6f 77 28 20 5b 0a 09 09 09 24 24 72 61 6e 67 65 7b 69 64 7d 2c 20 24 65 64 lumns_row(.[....$$range{id},.$ed
12a40 69 74 2c 20 24 24 72 61 6e 67 65 7b 65 6e 64 7d 2c 20 24 24 72 61 6e 67 65 7b 6d 61 73 6b 7d 2c it,.$$range{end},.$$range{mask},
12a60 0a 09 09 09 24 24 72 61 6e 67 65 7b 6c 65 61 73 65 74 69 6d 65 7d 2c 20 0a 09 09 09 28 24 24 72 ....$$range{leasetime},.....($$r
12a80 61 6e 67 65 7b 75 73 65 64 7d 29 20 3f 0a 09 09 09 09 24 74 65 78 74 7b 75 73 65 64 7d 20 3a 20 ange{used}).?.....$text{used}.:.
12aa0 24 74 65 78 74 7b 6e 6f 74 5f 75 73 65 64 7d 20 5d 2c 0a 09 09 09 5b 20 24 77 69 64 74 68 2c 20 $text{not_used}.],....[.$width,.
12ac0 24 77 69 64 74 68 2c 20 24 77 69 64 74 68 2c 20 24 77 69 64 74 68 2c 20 24 77 69 64 74 68 20 5d $width,.$width,.$width,.$width.]
12ae0 20 29 3b 0a 09 24 63 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d .);..$count++;.}.print.&ui_colum
12b00 6e 73 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 61 64 64 ns_end();.print."<br><a.href=add
12b20 2e 63 67 69 3f 77 68 61 74 3d 64 68 63 70 2d 72 61 6e 67 65 3d 30 2e 30 2e 30 2e 30 2c 30 2e 30 .cgi?what=dhcp-range=0.0.0.0,0.0
12b40 2e 30 2e 30 26 77 68 65 72 65 3d 64 68 63 70 2e 63 67 69 3e 22 2e 0a 09 09 24 74 65 78 74 7b 72 .0.0&where=dhcp.cgi>"....$text{r
12b60 61 6e 67 65 5f 61 64 64 7d 2e 22 3c 2f 61 3e 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 22 3b 0a 24 63 ange_add}."</a><br><hr><br>";.$c
12b80 6f 75 6e 74 3d 30 3b 0a 24 77 69 64 74 68 3d 22 77 69 64 74 68 3d 35 30 25 22 3b 0a 70 72 69 6e ount=0;.$width="width=50%";.prin
12ba0 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 68 6f 73 74 73 7d 2e 22 3c 2f 68 32 3e 22 3b 0a 70 t."<h2>".$text{hosts}."</h2>";.p
12bc0 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 28 20 5b 20 24 74 65 78 74 7b rint.&ui_columns_start(.[.$text{
12be0 68 6f 73 74 73 7d 2c 20 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 20 5d 2c 20 31 30 30 20 29 3b 0a hosts},.$text{in_use}.],.100.);.
12c00 66 6f 72 65 61 63 68 20 6d 79 20 24 72 61 6e 67 65 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 64 68 foreach.my.$range.(.@{$config{dh
12c20 63 70 5f 68 6f 73 74 7d 7d 20 29 0a 7b 0a 09 6d 79 20 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 cp_host}}.).{..my.$edit.=."<a.hr
12c40 65 66 3d 68 6f 73 74 5f 65 64 69 74 2e 63 67 69 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 ef=host_edit.cgi?idx=$count>".$$
12c60 72 61 6e 67 65 7b 6f 70 74 69 6f 6e 7d 2e 22 3c 2f 61 3e 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 range{option}."</a>";..print.&ui
12c80 5f 63 6f 6c 75 6d 6e 73 5f 72 6f 77 28 20 5b 0a 09 09 09 24 65 64 69 74 2c 0a 09 09 09 28 24 24 _columns_row(.[....$edit,....($$
12ca0 72 61 6e 67 65 7b 75 73 65 64 7d 29 20 3f 0a 09 09 09 09 24 74 65 78 74 7b 75 73 65 64 7d 20 3a range{used}).?.....$text{used}.:
12cc0 20 24 74 65 78 74 7b 6e 6f 74 5f 75 73 65 64 7d 20 5d 2c 0a 09 09 09 5b 20 24 77 69 64 74 68 2c .$text{not_used}.],....[.$width,
12ce0 20 24 77 69 64 74 68 20 5d 20 29 3b 0a 09 24 63 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 20 .$width.].);..$count++;.}.print.
12d00 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 &ui_columns_end();.print."<br><a
12d20 20 68 72 65 66 3d 61 64 64 2e 63 67 69 3f 77 68 61 74 3d 64 68 63 70 2d 68 6f 73 74 3d 6e 65 77 .href=add.cgi?what=dhcp-host=new
12d40 2c 30 2e 30 2e 30 2e 30 26 77 68 65 72 65 3d 64 68 63 70 2e 63 67 69 3e 22 2e 0a 09 09 24 74 65 ,0.0.0.0&where=dhcp.cgi>"....$te
12d60 78 74 7b 68 6f 73 74 5f 61 64 64 7d 2e 22 3c 2f 61 3e 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 22 3b xt{host_add}."</a><br><hr><br>";
12d80 0a 24 63 6f 75 6e 74 3d 30 3b 0a 24 77 69 64 74 68 3d 22 77 69 64 74 68 3d 35 30 25 22 3b 0a 70 .$count=0;.$width="width=50%";.p
12da0 72 69 6e 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 64 68 63 70 5f 6f 70 74 69 6f 6e 73 7d 2e rint."<h2>".$text{dhcp_options}.
12dc0 22 3c 2f 68 32 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 73 74 61 72 74 "</h2>";.print.&ui_columns_start
12de0 28 20 5b 20 24 74 65 78 74 7b 64 68 63 70 5f 6f 70 74 69 6f 6e 7d 2c 20 24 74 65 78 74 7b 69 6e (.[.$text{dhcp_option},.$text{in
12e00 5f 75 73 65 7d 20 5d 2c 20 31 30 30 20 29 3b 0a 66 6f 72 65 61 63 68 20 6d 79 20 24 72 61 6e 67 _use}.],.100.);.foreach.my.$rang
12e20 65 20 28 20 40 7b 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6f 70 74 69 6f 6e 7d 7d 20 29 0a 7b 0a e.(.@{$config{dhcp_option}}.).{.
12e40 09 6d 79 20 24 65 64 69 74 20 3d 20 22 3c 61 20 68 72 65 66 3d 6f 70 74 69 6f 6e 5f 65 64 69 74 .my.$edit.=."<a.href=option_edit
12e60 2e 63 67 69 3f 69 64 78 3d 24 63 6f 75 6e 74 3e 22 2e 24 24 72 61 6e 67 65 7b 6f 70 74 69 6f 6e .cgi?idx=$count>".$$range{option
12e80 7d 2e 22 3c 2f 61 3e 22 3b 0a 09 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f 72 6f 77 }."</a>";..print.&ui_columns_row
12ea0 28 20 5b 0a 09 09 09 24 65 64 69 74 2c 0a 09 09 09 28 24 24 72 61 6e 67 65 7b 75 73 65 64 7d 29 (.[....$edit,....($$range{used})
12ec0 20 3f 0a 09 09 09 09 24 74 65 78 74 7b 75 73 65 64 7d 20 3a 20 24 74 65 78 74 7b 6e 6f 74 5f 75 .?.....$text{used}.:.$text{not_u
12ee0 73 65 64 7d 20 5d 2c 0a 09 09 09 5b 20 24 77 69 64 74 68 2c 20 24 77 69 64 74 68 20 5d 20 29 3b sed}.],....[.$width,.$width.].);
12f00 0a 09 24 63 6f 75 6e 74 2b 2b 3b 0a 7d 0a 70 72 69 6e 74 20 26 75 69 5f 63 6f 6c 75 6d 6e 73 5f ..$count++;.}.print.&ui_columns_
12f20 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 61 64 64 2e 63 67 end();.print."<br><a.href=add.cg
12f40 69 3f 77 68 61 74 3d 64 68 63 70 2d 6f 70 74 69 6f 6e 3d 32 37 26 77 68 65 72 65 3d 64 68 63 70 i?what=dhcp-option=27&where=dhcp
12f60 2e 63 67 69 3e 22 2e 0a 09 24 74 65 78 74 7b 64 68 63 70 5f 61 64 64 7d 2e 22 3c 2f 61 3e 3c 62 .cgi>"...$text{dhcp_add}."</a><b
12f80 72 3e 3c 68 72 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 r><hr><br>";.print.&ui_form_star
12fa0 74 28 20 27 64 68 63 70 5f 61 70 70 6c 79 2e 63 67 69 27 2c 20 22 67 65 74 22 20 29 3b 0a 70 72 t(.'dhcp_apply.cgi',."get".);.pr
12fc0 69 6e 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 6d 69 73 63 7d 2e 22 3c 2f 68 32 3e 3c 62 72 int."<h2>".$text{misc}."</h2><br
12fe0 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 72 65 61 64 5f 65 74 68 65 72 73 7d 2e 26 75 69 >";.print.$text{read_ethers}.&ui
13000 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 65 74 68 65 72 73 22 2c 20 0a 09 09 09 28 24 63 6f _yesno_radio(."ethers",.....($co
13020 6e 66 69 67 7b 64 68 63 70 5f 65 74 68 65 72 73 7d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a nfig{dhcp_ethers}{used})?1:0.);.
13040 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 2e 24 74 65 78 74 7b 75 73 65 5f 62 6f 6f 74 70 print."<br><br>".$text{use_bootp
13060 7d 2e 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 20 28 20 22 62 6f 6f 74 70 22 2c 0a 09 09 09 }.&ui_yesno_radio.(."bootp",....
13080 28 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 62 6f 6f 74 7d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 ($config{dhcp_boot}{used})?1:0.)
130a0 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 62 6f 6f 74 70 5f 68 6f 73 74 7d ;.print."<br>".$text{bootp_host}
130c0 2e 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 62 6f 6f 74 70 5f 68 6f 73 74 22 2c 0a 09 09 09 24 .&ui_textbox(."bootp_host",....$
130e0 63 6f 6e 66 69 67 7b 64 68 63 70 5f 62 6f 6f 74 7d 7b 68 6f 73 74 7d 2c 20 38 30 20 29 3b 0a 70 config{dhcp_boot}{host},.80.);.p
13100 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 62 6f 6f 74 70 5f 66 69 6c 65 7d 2e 26 75 rint."<br>".$text{bootp_file}.&u
13120 69 5f 74 65 78 74 62 6f 78 28 20 22 62 6f 6f 74 70 5f 66 69 6c 65 22 2c 0a 09 09 09 24 63 6f 6e i_textbox(."bootp_file",....$con
13140 66 69 67 7b 64 68 63 70 5f 62 6f 6f 74 7d 7b 66 69 6c 65 7d 2c 20 38 30 20 29 3b 0a 70 72 69 6e fig{dhcp_boot}{file},.80.);.prin
13160 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 62 6f 6f 74 70 5f 61 64 64 72 65 73 73 7d 2e 26 75 t."<br>".$text{bootp_address}.&u
13180 69 5f 74 65 78 74 62 6f 78 28 20 22 62 6f 6f 74 70 5f 61 64 64 72 22 2c 0a 09 09 09 24 63 6f 6e i_textbox(."bootp_addr",....$con
131a0 66 69 67 7b 64 68 63 70 5f 62 6f 6f 74 7d 7b 61 64 64 72 65 73 73 7d 2c 20 38 30 20 29 3b 0a 70 fig{dhcp_boot}{address},.80.);.p
131c0 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 2e 24 74 65 78 74 7b 6d 61 78 5f 6c 65 61 73 65 73 rint."<br><br>".$text{max_leases
131e0 7d 2e 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 6d 61 78 5f 6c 65 61 73 65 73 22 2c 0a 09 09 09 }.&ui_textbox(."max_leases",....
13200 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6c 65 61 73 65 6d 61 78 7d 7b 6d 61 78 7d 2c 20 31 30 20 $config{dhcp_leasemax}{max},.10.
13220 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 2e 24 74 65 78 74 7b 6c 65 61 73 65 66 );.print."<br><br>".$text{leasef
13240 69 6c 65 7d 2e 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 75 73 65 6c 65 61 73 65 66 ile}.&ui_yesno_radio(."useleasef
13260 69 6c 65 22 2c 0a 09 09 09 28 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6c 65 61 73 65 66 69 6c 65 ile",....($config{dhcp_leasefile
13280 7d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 }{used})?1:0.);.print."<br>".$te
132a0 78 74 7b 6c 66 69 6c 65 74 6f 75 73 65 7d 2e 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 6c 65 61 xt{lfiletouse}.&ui_textbox(."lea
132c0 73 65 66 69 6c 65 22 2c 0a 09 09 09 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6c 65 61 73 65 66 69 sefile",....$config{dhcp_leasefi
132e0 6c 65 7d 7b 66 69 6c 65 7d 2c 20 38 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e le}{file},.80.);.print."<br><br>
13300 22 2e 26 75 69 5f 73 75 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f 6e ".&ui_submit(.$text{'save_button
13320 27 7d 20 29 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 6e 64 28 20 29 3b 0a 70 72 69 '}.);.print.&ui_form_end(.);.pri
13340 6e 74 20 22 3c 62 72 3e 3c 68 72 3e 3c 62 72 3e 3c 61 20 68 72 65 66 3d 5c 22 69 6e 64 65 78 2e nt."<br><hr><br><a.href=\"index.
13360 63 67 69 5c 22 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 27 44 4e 53 5f 73 65 74 74 69 6e cgi\">";.print.$text{'DNS_settin
13380 67 73 27 7d 3b 0a 70 72 69 6e 74 20 22 3c 2f 61 3e 3c 62 72 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 gs'};.print."</a><br>";.&footer(
133a0 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 20 75 73 65 73 20 74 68 65 "/",.$text{'index'});.#.uses.the
133c0 20 69 6e 64 65 78 20 65 6e 74 72 79 20 69 6e 20 2f 6c 61 6e 67 2f 65 6e 0a 0a 0a 0a 23 23 20 69 .index.entry.in./lang/en....##.i
133e0 66 20 73 75 62 72 6f 75 74 69 6e 65 73 20 61 72 65 20 6e 6f 74 20 69 6e 20 61 6e 20 65 78 74 72 f.subroutines.are.not.in.an.extr
13400 61 20 66 69 6c 65 20 70 75 74 20 74 68 65 6d 20 68 65 72 65 0a 0a 0a 23 23 23 20 45 4e 44 20 6f a.file.put.them.here...###.END.o
13420 66 20 64 68 63 70 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f.dhcp.cgi.###..................
13440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
134e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
135e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13600 64 6e 73 6d 61 73 71 2f 72 65 73 74 61 72 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/restart.cgi.............
13620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
13680 30 30 30 33 30 30 35 00 31 30 35 30 37 31 32 33 30 35 36 00 30 31 33 33 37 32 00 20 30 00 00 00 0003005.10507123056.013372..0...
136a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
136c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
136e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
13720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
13740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13800 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
13820 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 72 65 73 74 61 72 74 2e 63 67 69 3b 20 72 65 73 74 ebmin.Module.-.restart.cgi;.rest
13840 61 72 74 20 44 4e 53 6d 61 73 71 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 art.DNSmasq.#....Copyright.(C).2
13860 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 006.by.Neil.Fisher.#.....#....Th
13880 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 is.program.is.free.software;.you
138a0 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 .can.redistribute.it.and/or.modi
138c0 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 fy.#....it.under.the.terms.of.th
138e0 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 e.GNU.General.Public.License.as.
13900 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 published.by.#....the.Free.Softw
13920 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 are.Foundation;.either.version.2
13940 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 .of.the.License,.or.#....(at.you
13960 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 r.option).any.later.version..#.#
13980 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 ....This.program.is.distributed.
139a0 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 in.the.hope.that.it.will.be.usef
139c0 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 ul,.#....but.WITHOUT.ANY.WARRANT
139e0 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 Y;.without.even.the.implied.warr
13a00 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 anty.of.#....MERCHANTABILITY.or.
13a20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 FITNESS.FOR.A.PARTICULAR.PURPOSE
13a40 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c ...See.the.#....GNU.General.Publ
13a60 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 ic.License.for.more.details..#.#
13a80 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 ....This.module.inherited.from.t
13aa0 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 he.Webmin.Module.Template.0.79.1
13ac0 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 .by.tn..do.'../web-lib.pl';.do.'
13ae0 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 ../ui-lib.pl';.do.'dnsmasq-lib.p
13b00 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 l';..$|=1;.&init_config("DNSMasq
13b20 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 ");..%access=&get_module_acl;..#
13b40 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 #.put.in.ACL.checks.here.if.need
13b60 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 26 68 65 61 64 65 72 28 24 ed...##.sanity.checks..&header($
13b80 74 65 78 74 7b 27 69 6e 64 65 78 5f 74 69 74 6c 65 27 7d 2c 20 22 22 2c 20 22 69 6e 74 72 6f 22 text{'index_title'},."",."intro"
13ba0 2c 20 31 2c 20 31 2c 20 75 6e 64 65 66 2c 0a 20 20 20 20 20 20 20 20 22 57 72 69 74 74 65 6e 20 ,.1,.1,.undef,........."Written.
13bc0 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 3c 42 52 3e 3c 41 20 48 52 45 46 3d 6d 61 69 6c 74 6f by.Neil.Fisher<BR><A.HREF=mailto
13be0 3a 6e 65 69 6c 5c 40 6d 61 67 6e 65 63 6f 72 2e 63 6f 6d 2e 61 75 3e 41 75 74 68 6f 72 3c 2f 41 :neil\@magnecor.com.au>Author</A
13c00 3e 3c 42 52 3e 3c 41 20 48 52 45 46 3d 68 74 74 70 3a 2f 2f 77 77 77 2e 61 75 74 68 6f 72 70 61 ><BR><A.HREF=http://www.authorpa
13c20 67 65 2e 69 6e 76 61 6c 69 64 3e 48 6f 6d 65 3a 2f 2f 70 61 67 65 3c 2f 41 3e 22 29 3b 0a 23 20 ge.invalid>Home://page</A>");.#.
13c40 75 73 65 73 20 74 68 65 20 69 6e 64 65 78 5f 74 69 74 6c 65 20 65 6e 74 72 79 20 66 72 6f 6d 20 uses.the.index_title.entry.from.
13c60 2e 2f 6c 61 6e 67 2f 65 6e 20 6f 72 20 61 70 70 72 6f 70 72 69 61 74 65 0a 0a 23 23 20 49 6e 73 ./lang/en.or.appropriate..##.Ins
13c80 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 0a 0a 23 20 6f 75 74 70 75 74 20 ert.Output.code.here...#.output.
13ca0 61 73 20 77 65 62 20 70 61 67 65 0a 0a 6d 79 20 24 6c 69 6e 65 3d 24 63 6f 6e 66 69 67 7b 72 65 as.web.page..my.$line=$config{re
13cc0 73 74 61 72 74 7d 3b 0a 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e start};.&header(."DNSMasq.settin
13ce0 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 72 65 73 74 61 72 74 69 6e gs",."".);.print.$text{restartin
13d00 67 7d 20 2e 20 22 3c 62 72 3e 22 3b 20 0a 70 72 69 6e 74 20 60 24 6c 69 6e 65 60 3b 0a 70 72 69 g}..."<br>";..print.`$line`;.pri
13d20 6e 74 20 22 3c 62 72 3e 3c 68 72 3e 3c 61 20 68 72 65 66 3d 69 6e 64 65 78 2e 63 67 69 3e 22 3b nt."<br><hr><a.href=index.cgi>";
13d40 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 44 4e 53 5f 73 65 74 74 69 6e 67 73 7d 3b 0a 70 72 69 6e .print.$text{DNS_settings};.prin
13d60 74 20 22 3c 2f 61 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e t."</a>";.&footer("/",.$text{'in
13d80 64 65 78 27 7d 29 3b 0a 23 20 75 73 65 73 20 74 68 65 20 69 6e 64 65 78 20 65 6e 74 72 79 20 69 dex'});.#.uses.the.index.entry.i
13da0 6e 20 2f 6c 61 6e 67 2f 65 6e 0a 0a 0a 0a 23 23 20 69 66 20 73 75 62 72 6f 75 74 69 6e 65 73 20 n./lang/en....##.if.subroutines.
13dc0 61 72 65 20 6e 6f 74 20 69 6e 20 61 6e 20 65 78 74 72 61 20 66 69 6c 65 20 70 75 74 20 74 68 65 are.not.in.an.extra.file.put.the
13de0 6d 20 68 65 72 65 0a 0a 0a 23 23 23 20 45 4e 44 20 6f 66 20 72 65 73 74 61 72 74 2e 63 67 69 20 m.here...###.END.of.restart.cgi.
13e00 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ###.............................
13e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14000 64 6e 73 6d 61 73 71 2f 73 72 76 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/srv_apply.cgi...........
14020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
14080 30 30 30 34 31 35 33 00 31 30 35 31 32 36 34 32 32 31 33 00 30 31 33 37 32 37 00 20 30 00 00 00 0004153.10512642213.013727..0...
140a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
140c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
140e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
14120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
14140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14200 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
14220 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 73 72 76 5f 61 70 70 6c 79 2e 63 67 69 3b 20 75 70 ebmin.Module.-.srv_apply.cgi;.up
14240 64 61 74 65 20 44 4e 53 20 73 65 72 76 65 72 20 69 6e 66 6f 20 20 20 20 20 0a 23 20 20 20 20 43 date.DNS.server.info......#....C
14260 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 opyright.(C).2006.by.Neil.Fisher
14280 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 .#.....#....This.program.is.free
142a0 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 .software;.you.can.redistribute.
142c0 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 it.and/or.modify.#....it.under.t
142e0 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c he.terms.of.the.GNU.General.Publ
14300 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 ic.License.as.published.by.#....
14320 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 the.Free.Software.Foundation;.ei
14340 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f ther.version.2.of.the.License,.o
14360 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 r.#....(at.your.option).any.late
14380 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 r.version..#.#....This.program.i
143a0 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 s.distributed.in.the.hope.that.i
143c0 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f t.will.be.useful,.#....but.WITHO
143e0 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 UT.ANY.WARRANTY;.without.even.th
14400 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 e.implied.warranty.of.#....MERCH
14420 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 ANTABILITY.or.FITNESS.FOR.A.PART
14440 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e ICULAR.PURPOSE...See.the.#....GN
14460 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
14480 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e e.details..#.#....This.module.in
144a0 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 herited.from.the.Webmin.Module.T
144c0 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 emplate.0.79.1.by.tn..do.'../web
144e0 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 -lib.pl';.do.'../ui-lib.pl';.do.
14500 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 'dnsmasq-lib.pl';..$|=1;.&init_c
14520 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f onfig("DNSMasq");..%access=&get_
14540 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b module_acl;..##.put.in.ACL.check
14560 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 s.here.if.needed...##.sanity.che
14580 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 cks...##.Insert.Output.code.here
145a0 0a 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 .#.read.config.file.$config_file
145c0 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e .=.&read_file_lines(.$config{con
145e0 66 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 fig_file}.);.#.pass.into.data.st
14600 72 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f ructure.&parse_config_file(.\%co
14620 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f nfig,.\$config_file.);.#.read.po
14640 73 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 sted.data.&ReadParse();.#.check.
14660 66 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 for.errors.in.read.config.if(.$c
14680 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 onfig{errors}.>.0.).{..my.$line.
146a0 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 =."error.cgi?line=xx&type=".$tex
146c0 74 7b 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c t{err_configbad};..&redirect(.$l
146e0 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 70 75 ine.);..exit;.}.#.check.for.inpu
14700 74 20 64 61 74 61 20 65 72 72 6f 72 73 0a 69 66 28 20 28 24 69 6e 7b 72 65 73 6f 6c 76 5f 73 74 t.data.errors.if(.($in{resolv_st
14720 64 7d 29 20 26 26 20 28 24 69 6e 7b 72 65 73 6f 6c 76 5f 66 69 6c 65 7d 20 21 7e 20 2f 5e 24 46 d}).&&.($in{resolv_file}.!~./^$F
14740 49 4c 45 24 2f 29 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e 63 67 ILE$/).).{..my.$line.=."error.cg
14760 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 72 65 73 6f 6c 76 5f 66 69 6c 65 7d 3b 0a 09 24 6c i?line=".$text{resolv_file};..$l
14780 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 66 69 6c 65 62 61 ine..=."&type=".$text{err_fileba
147a0 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a d};..&redirect(.$line.);..exit;.
147c0 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 }.#.adjust.everything.to.what.we
147e0 20 67 6f 74 0a 0a 23 0a 23 20 75 73 65 20 72 65 73 6f 6c 76 2e 63 6f 6e 66 3f 0a 23 0a 26 75 70 .got..#.#.use.resolv.conf?.#.&up
14800 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 6e 6f 5f 72 65 73 6f 6c 76 7d 7b 6c 69 6e 65 7d 2c 20 date(.$config{no_resolv}{line},.
14820 22 6e 6f 2d 72 65 73 6f 6c 76 22 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 "no-resolv",...$config_file,.(.$
14840 69 6e 7b 72 65 73 6f 6c 76 7d 20 3d 3d 20 30 20 29 20 29 3b 0a 23 0a 23 20 73 74 61 6e 64 61 72 in{resolv}.==.0.).);.#.#.standar
14860 64 20 6c 6f 63 61 74 69 6f 6e 20 66 6f 72 20 72 65 73 6f 6c 76 2e 63 6f 6e 66 3f 0a 23 20 0a 26 d.location.for.resolv.conf?.#..&
14880 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 72 65 73 6f 6c 76 5f 66 69 6c 65 7d 7b 6c 69 6e update(.$config{resolv_file}{lin
148a0 65 7d 2c 20 22 72 65 73 6f 6c 76 2d 66 69 6c 65 3d 22 2e 24 69 6e 7b 72 65 73 6f 6c 76 5f 66 69 e},."resolv-file=".$in{resolv_fi
148c0 6c 65 7d 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 72 65 73 6f 6c le},...$config_file,.(.$in{resol
148e0 76 5f 73 74 64 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 0a 23 0a 23 20 73 65 72 76 65 72 73 20 69 6e v_std}.==.1.).);..#.#.servers.in
14900 20 6f 72 64 65 72 20 70 72 6f 76 69 64 65 64 3f 0a 23 20 0a 26 75 70 64 61 74 65 28 20 24 63 6f .order.provided?.#..&update(.$co
14920 6e 66 69 67 7b 73 74 72 69 63 74 5f 6f 72 64 65 72 7d 7b 6c 69 6e 65 7d 2c 20 22 73 74 72 69 63 nfig{strict_order}{line},."stric
14940 74 2d 6f 72 64 65 72 22 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b t-order",...$config_file,.(.$in{
14960 73 74 72 69 63 74 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 70 6f 6c 6c 20 72 65 73 6f 6c strict}.==.1.).);.#.#.poll.resol
14980 76 2e 63 6f 6e 66 3f 0a 23 20 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 6e 6f 5f 70 v.conf?.#..&update(.$config{no_p
149a0 6f 6c 6c 7d 7b 6c 69 6e 65 7d 2c 20 22 6e 6f 2d 70 6f 6c 6c 22 2c 20 0a 09 24 63 6f 6e 66 69 67 oll}{line},."no-poll",...$config
149c0 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 70 6f 6c 6c 7d 20 3d 3d 20 30 20 29 20 29 3b 0a 23 0a 23 _file,.(.$in{poll}.==.0.).);.#.#
149e0 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 .#.write.file!!.&flush_file_line
14a00 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 s();.#.#.re-load.basic.page.&red
14a20 69 72 65 63 74 28 20 22 73 65 72 76 65 72 73 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 irect(."servers.cgi".);..#..#.su
14a40 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 73 72 76 5f 61 70 70 6c b-routines.#.###.END.of.srv_appl
14a60 79 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 y.cgi.###.......................
14a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c00 64 6e 73 6d 61 73 71 2f 72 65 73 74 61 72 74 2e 73 68 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/restart.sh..............
14c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
14c80 30 30 30 30 33 34 30 00 31 30 35 30 36 30 36 36 33 35 37 00 30 31 33 32 35 32 00 20 30 00 00 00 0000340.10506066357.013252..0...
14ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
14d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
14d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e00 23 21 2f 62 69 6e 2f 62 61 73 68 0a 65 63 68 6f 20 22 6b 69 6c 6c 69 6e 67 20 65 78 69 73 74 69 #!/bin/bash.echo."killing.existi
14e20 6e 67 20 70 72 6f 63 65 73 73 20 50 49 44 20 69 73 20 22 0a 63 61 74 20 2f 76 61 72 2f 72 75 6e ng.process.PID.is.".cat./var/run
14e40 2f 64 6e 73 6d 61 73 71 2e 70 69 64 0a 6b 69 6c 6c 20 2d 39 20 60 63 61 74 20 2f 76 61 72 2f 72 /dnsmasq.pid.kill.-9.`cat./var/r
14e60 75 6e 2f 64 6e 73 6d 61 73 71 2e 70 69 64 60 0a 65 63 68 6f 20 22 64 6f 6e 65 2e 20 53 74 61 72 un/dnsmasq.pid`.echo."done..Star
14e80 74 69 6e 67 20 6e 65 77 20 70 72 6f 63 65 73 73 2e 2e 2e 22 0a 2f 75 73 72 2f 6c 6f 63 61 6c 2f ting.new.process..."./usr/local/
14ea0 73 62 69 6e 2f 64 6e 73 6d 61 73 71 0a 65 63 68 6f 20 22 44 6f 6e 65 2e 20 4e 65 77 20 50 49 44 sbin/dnsmasq.echo."Done..New.PID
14ec0 20 69 73 20 22 0a 63 61 74 20 2f 76 61 72 2f 72 75 6e 2f 64 6e 73 6d 61 73 71 2e 70 69 64 0a 0a .is.".cat./var/run/dnsmasq.pid..
14ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15000 64 6e 73 6d 61 73 71 2f 73 72 76 5f 6d 6f 76 65 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/srv_move.cgi............
15020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
15080 30 30 30 34 30 34 35 00 31 30 35 30 37 31 30 32 37 32 33 00 30 31 33 35 35 31 00 20 30 00 00 00 0004045.10507102723.013551..0...
150a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
15120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
15140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15200 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
15220 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 64 6e 73 5f 6d 6f 76 65 2e 63 67 69 3b 20 6d 6f 76 ebmin.Module.-.dns_move.cgi;.mov
15240 65 20 73 65 72 76 65 72 20 20 20 20 20 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 e.server......#....Copyright.(C)
15260 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 20 .2006.by.Neil.Fisher.#.....#....
15280 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 This.program.is.free.software;.y
152a0 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f ou.can.redistribute.it.and/or.mo
152c0 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 dify.#....it.under.the.terms.of.
152e0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 the.GNU.General.Public.License.a
15300 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 s.published.by.#....the.Free.Sof
15320 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e tware.Foundation;.either.version
15340 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 79 .2.of.the.License,.or.#....(at.y
15360 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 our.option).any.later.version..#
15380 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 .#....This.program.is.distribute
153a0 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 d.in.the.hope.that.it.will.be.us
153c0 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 eful,.#....but.WITHOUT.ANY.WARRA
153e0 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 NTY;.without.even.the.implied.wa
15400 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f rranty.of.#....MERCHANTABILITY.o
15420 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f r.FITNESS.FOR.A.PARTICULAR.PURPO
15440 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 SE...See.the.#....GNU.General.Pu
15460 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 blic.License.for.more.details..#
15480 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d .#....This.module.inherited.from
154a0 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 39 .the.Webmin.Module.Template.0.79
154c0 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f .1.by.tn..do.'../web-lib.pl';.do
154e0 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 62 .'../ui-lib.pl';.do.'dnsmasq-lib
15500 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d 61 .pl';..$|=1;.&init_config("DNSMa
15520 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a sq");..%access=&get_module_acl;.
15540 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e 65 .##.put.in.ACL.checks.here.if.ne
15560 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 eded...##.sanity.checks...##.Ins
15580 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f 6e 66 ert.Output.code.here.#.read.conf
155a0 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 6c ig.file.$config_file.=.&read_fil
155c0 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 29 3b e_lines(.$config{config_file}.);
155e0 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 26 70 61 72 .#.pass.into.data.structure.&par
15600 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 se_config_file(.\%config,.\$conf
15620 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 61 0a 26 52 ig_file.);.#.read.posted.data.&R
15640 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 69 eadParse();.#.check.for.errors.i
15660 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 n.read.config.if(.$config{errors
15680 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 }.>.0.).{..&header(."DNSMasq.set
156a0 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 72 3e 3c 68 32 3e 22 3b tings",."".);..print."<hr><h2>";
156c0 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 ..print.$text{warn_errors};..pri
156e0 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 nt.$config{errors};..print.$text
15700 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c 2f 68 33 3e 3c 68 72 3e {didnt_apply};..print."</h3><hr>
15720 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 \n";..&footer(."/",.$text{'index
15740 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e '});..exit;.}.#.adjust.everythin
15760 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 6d 79 20 24 73 65 6c 65 63 74 65 64 3d g.to.what.we.got.#.my.$selected=
15780 24 63 6f 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d $config{servers}[$in{idx}]{line}
157a0 3b 0a 69 66 28 20 24 69 6e 7b 64 69 72 7d 20 65 71 20 22 75 70 22 20 29 0a 7b 0a 09 24 63 6f 6e ;.if(.$in{dir}.eq."up".).{..$con
157c0 66 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 3d 24 63 6f fig{servers}[$in{idx}]{line}=$co
157e0 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 2d 31 5d 7b 6c 69 6e 65 7d 3b nfig{servers}[$in{idx}-1]{line};
15800 0a 09 24 63 6f 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 2d 31 5d 7b 6c ..$config{servers}[$in{idx}-1]{l
15820 69 6e 65 7d 3d 24 73 65 6c 65 63 74 65 64 3b 0a 7d 0a 65 6c 73 65 0a 7b 0a 09 24 63 6f 6e 66 69 ine}=$selected;.}.else.{..$confi
15840 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 3d 24 63 6f 6e 66 g{servers}[$in{idx}]{line}=$conf
15860 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 2b 31 5d 7b 6c 69 6e 65 7d 3b 0a 09 ig{servers}[$in{idx}+1]{line};..
15880 24 63 6f 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d 2b 31 5d 7b 6c 69 6e $config{servers}[$in{idx}+1]{lin
158a0 65 7d 3d 24 73 65 6c 65 63 74 65 64 3b 0a 7d 0a 66 6f 72 65 61 63 68 20 6d 79 20 24 73 65 72 76 e}=$selected;.}.foreach.my.$serv
158c0 65 72 20 28 40 7b 24 63 6f 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 7d 29 0a 7b 0a 09 24 6c 69 6e er.(@{$config{servers}}).{..$lin
158e0 65 3d 20 28 24 24 73 65 72 76 65 72 7b 64 6f 6d 61 69 6e 5f 75 73 65 64 7d 29 20 3f 0a 09 09 22 e=.($$server{domain_used}).?..."
15900 73 65 72 76 65 72 3d 2f 22 2e 24 24 73 65 72 76 65 72 7b 64 6f 6d 61 69 6e 7d 2e 22 2f 22 2e 24 server=/".$$server{domain}."/".$
15920 24 73 65 72 76 65 72 7b 61 64 64 72 65 73 73 7d 20 3a 0a 09 09 22 73 65 72 76 65 72 3d 22 2e 24 $server{address}.:..."server=".$
15940 24 73 65 72 76 65 72 7b 61 64 64 72 65 73 73 7d 3b 0a 09 26 75 70 64 61 74 65 28 20 24 24 73 65 $server{address};..&update(.$$se
15960 72 76 65 72 7b 6c 69 6e 65 7d 2c 20 24 6c 69 6e 65 2c 20 0a 09 09 24 63 6f 6e 66 69 67 5f 66 69 rver{line},.$line,....$config_fi
15980 6c 65 2c 20 28 24 24 73 65 72 76 65 72 7b 75 73 65 64 7d 29 20 29 3b 0a 7d 0a 23 0a 23 20 77 72 le,.($$server{used}).);.}.#.#.wr
159a0 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a ite.file!!.&flush_file_lines();.
159c0 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 #.#.re-load.basic.page.&redirect
159e0 28 20 22 73 65 72 76 65 72 73 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 (."servers.cgi".);..#..#.sub-rou
15a00 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 64 6e 73 5f 6d 6f 76 65 2e 63 67 69 20 tines.#.###.END.of.dns_move.cgi.
15a20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ###.............................
15a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c00 64 6e 73 6d 61 73 71 2f 73 72 76 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 00 00 dnsmasq/srv_edit_apply.cgi......
15c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
15c80 30 30 30 33 36 34 36 00 31 30 35 31 32 36 34 32 32 32 35 00 30 31 34 37 34 35 00 20 30 00 00 00 0003646.10512642225.014745..0...
15ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
15d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
15d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
15e20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 73 72 76 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 ebmin.Module.-.srv_edit_apply.cg
15e40 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 6f 70 79 i;.do.the.update.......#....Copy
15e60 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 right.(C).2006.by.Neil.Fisher.#.
15e80 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f ....#....This.program.is.free.so
15ea0 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 ftware;.you.can.redistribute.it.
15ec0 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 and/or.modify.#....it.under.the.
15ee0 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 terms.of.the.GNU.General.Public.
15f00 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 License.as.published.by.#....the
15f20 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 .Free.Software.Foundation;.eithe
15f40 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 r.version.2.of.the.License,.or.#
15f60 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 ....(at.your.option).any.later.v
15f80 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 ersion..#.#....This.program.is.d
15fa0 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
15fc0 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 ill.be.useful,.#....but.WITHOUT.
15fe0 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 ANY.WARRANTY;.without.even.the.i
16000 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 mplied.warranty.of.#....MERCHANT
16020 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 ABILITY.or.FITNESS.FOR.A.PARTICU
16040 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 LAR.PURPOSE...See.the.#....GNU.G
16060 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 eneral.Public.License.for.more.d
16080 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 etails..#.#....This.module.inher
160a0 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 ited.from.the.Webmin.Module.Temp
160c0 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 late.0.79.1.by.tn..do.'../web-li
160e0 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e b.pl';.do.'../ui-lib.pl';.do.'dn
16100 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 smasq-lib.pl';..$|=1;.&init_conf
16120 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 ig("DNSMasq");..%access=&get_mod
16140 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 ule_acl;..##.put.in.ACL.checks.h
16160 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 ere.if.needed...##.sanity.checks
16180 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 ...##.Insert.Output.code.here.#.
161a0 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 read.config.file.$config_file.=.
161c0 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 &read_file_lines(.$config{config
161e0 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 _file}.);.#.pass.into.data.struc
16200 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 ture.&parse_config_file(.\%confi
16220 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 g,.\$config_file.);.#.read.poste
16240 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 d.data.&ReadParse();.#.check.for
16260 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 .errors.in.read.config.if(.$conf
16280 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 ig{errors}.>.0.).{..my.$line.=."
162a0 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 error.cgi?line=xx&type=".$text{e
162c0 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 rr_configbad};..&redirect(.$line
162e0 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 70 75 74 20 64 .);..exit;.}.#.check.for.input.d
16300 61 74 61 20 65 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 61 64 64 72 7d 20 21 7e 20 2f 5e 24 49 ata.errors.if(.$in{addr}.!~./^$I
16320 50 41 44 44 52 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e 63 PADDR$/.).{..my.$line.=."error.c
16340 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 73 72 76 5f 61 64 64 72 7d 3b 0a 09 24 6c 69 6e gi?line=".$text{srv_addr};..$lin
16360 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 6f 74 69 70 7d 3b 0a e..=."&type=".$text{err_notip};.
16380 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 69 66 .&redirect(.$line.);..exit;.}.if
163a0 28 20 28 24 69 6e 7b 6e 61 6d 65 64 7d 29 20 26 26 20 28 24 69 6e 7b 6e 61 6d 65 7d 20 21 7e 20 (.($in{named}).&&.($in{name}.!~.
163c0 2f 5e 24 4e 41 4d 45 24 2f 29 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f /^$NAME$/).).{..my.$line.=."erro
163e0 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 73 72 76 5f 6e 61 6d 65 7d 3b 0a 09 24 r.cgi?line=".$text{srv_name};..$
16400 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 64 6f 6d 61 69 line..=."&type=".$text{err_domai
16420 6e 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 nbad};..&redirect(.$line.);..exi
16440 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 t;.}.#.adjust.everything.to.what
16460 20 77 65 20 67 6f 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 73 65 72 76 65 72 3d 22 3b 0a 24 6c .we.got.#.my.$line="server=";.$l
16480 69 6e 65 20 2e 3d 20 28 24 69 6e 7b 6e 61 6d 65 64 7d 29 3f 22 2f 22 2e 24 69 6e 7b 6e 61 6d 65 ine..=.($in{named})?"/".$in{name
164a0 7d 2e 22 2f 22 3a 22 22 3b 0a 24 6c 69 6e 65 20 2e 3d 20 24 69 6e 7b 61 64 64 72 7d 3b 0a 26 75 }."/":"";.$line..=.$in{addr};.&u
164c0 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 73 65 72 76 65 72 73 7d 5b 24 69 6e 7b 69 64 78 7d pdate(.$config{servers}[$in{idx}
164e0 5d 7b 6c 69 6e 65 7d 2c 20 24 6c 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 ]{line},.$line,..$config_file,.(
16500 20 24 69 6e 7b 75 73 65 64 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 .$in{used}.==.1.).);.#.#.write.f
16520 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 ile!!.&flush_file_lines();.#.#.r
16540 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 73 65 e-load.basic.page.&redirect(."se
16560 72 76 65 72 73 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 rvers.cgi".);..#..#.sub-routines
16580 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 73 72 76 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 .#.###.END.of.srv_edit_apply.cgi
165a0 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .###............................
165c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16600 64 6e 73 6d 61 73 71 2f 64 65 6c 65 74 65 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/delete.cgi..............
16620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
16680 30 30 30 32 36 35 34 00 31 30 35 31 32 36 32 37 34 32 34 00 30 31 33 31 36 35 00 20 30 00 00 00 0002654.10512627424.013165..0...
166a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
16720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
16740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16800 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
16820 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 64 65 6c 65 74 65 2e 63 67 69 3b 20 20 64 65 6c 65 ebmin.Module.-.delete.cgi;..dele
16840 74 65 20 61 20 6c 69 6e 65 20 20 20 20 20 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 te.a.line......#....Copyright.(C
16860 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 ).2006.by.Neil.Fisher.#.....#...
16880 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 .This.program.is.free.software;.
168a0 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d you.can.redistribute.it.and/or.m
168c0 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 odify.#....it.under.the.terms.of
168e0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .the.GNU.General.Public.License.
16900 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f as.published.by.#....the.Free.So
16920 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f ftware.Foundation;.either.versio
16940 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 n.2.of.the.License,.or.#....(at.
16960 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a your.option).any.later.version..
16980 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 #.#....This.program.is.distribut
169a0 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 ed.in.the.hope.that.it.will.be.u
169c0 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 seful,.#....but.WITHOUT.ANY.WARR
169e0 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 ANTY;.without.even.the.implied.w
16a00 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 arranty.of.#....MERCHANTABILITY.
16a20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 or.FITNESS.FOR.A.PARTICULAR.PURP
16a40 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 OSE...See.the.#....GNU.General.P
16a60 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a ublic.License.for.more.details..
16a80 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f #.#....This.module.inherited.fro
16aa0 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 m.the.Webmin.Module.Template.0.7
16ac0 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 9.1.by.tn..do.'../web-lib.pl';.d
16ae0 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 o.'../ui-lib.pl';.do.'dnsmasq-li
16b00 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d b.pl';..$|=1;.&init_config("DNSM
16b20 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b asq");..%access=&get_module_acl;
16b40 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e ..##.put.in.ACL.checks.here.if.n
16b60 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 20 49 6e eeded...##.sanity.checks...##.In
16b80 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f 6e sert.Output.code.here.#.read.con
16ba0 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 fig.file.$config_file.=.&read_fi
16bc0 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 29 le_lines(.$config{config_file}.)
16be0 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 26 70 61 ;.#.pass.into.data.structure.&pa
16c00 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e rse_config_file(.\%config,.\$con
16c20 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 61 0a 26 fig_file.);.#.read.posted.data.&
16c40 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 ReadParse();.#.check.for.errors.
16c60 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 in.read.config.if(.$config{error
16c80 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 3f s}.>.0.).{..my.$line="error.cgi?
16ca0 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 63 6f 6e 66 69 67 62 line=xx&type=".$text{err_configb
16cc0 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b ad};..&redirect(.$line.);..exit;
16ce0 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 .}.#.adjust.everything.to.what.w
16d00 65 20 67 6f 74 0a 23 0a 23 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 24 69 6e 7b 77 e.got.#.#.&update(.$config{$in{w
16d20 68 61 74 7d 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 22 22 2c 0a 09 24 63 6f 6e hat}}[$in{idx}]{line},."",..$con
16d40 66 69 67 5f 66 69 6c 65 2c 20 30 20 29 3b 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 fig_file,.0.);.&flush_file_lines
16d60 28 29 3b 0a 26 72 65 64 69 72 65 63 74 28 20 24 69 6e 7b 77 68 65 72 65 7d 20 29 3b 0a 23 20 0a ();.&redirect(.$in{where}.);.#..
16d80 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 64 65 6c 65 #.sub-routines.#.###.END.of.dele
16da0 74 65 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 te.cgi.###......................
16dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e00 64 6e 73 6d 61 73 71 2f 78 69 66 61 63 65 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 dnsmasq/xiface_edit.cgi.........
16e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16e60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
16e80 30 30 30 34 31 30 34 00 31 30 35 31 32 33 34 33 37 31 35 00 30 31 34 31 35 35 00 20 30 00 00 00 0004104.10512343715.014155..0...
16ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
16f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
16f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17000 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
17020 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 78 69 66 61 63 65 5f 65 64 69 74 2e 63 67 69 3b 20 ebmin.Module.-.xiface_edit.cgi;.
17040 20 65 64 69 74 20 65 78 63 65 70 74 20 69 6e 74 65 72 66 61 63 65 0a 23 20 20 20 20 43 6f 70 79 .edit.except.interface.#....Copy
17060 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 right.(C).2006.by.Neil.Fisher.#.
17080 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f ....#....This.program.is.free.so
170a0 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 ftware;.you.can.redistribute.it.
170c0 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 and/or.modify.#....it.under.the.
170e0 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 terms.of.the.GNU.General.Public.
17100 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 License.as.published.by.#....the
17120 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 .Free.Software.Foundation;.eithe
17140 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 r.version.2.of.the.License,.or.#
17160 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 ....(at.your.option).any.later.v
17180 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 ersion..#.#....This.program.is.d
171a0 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
171c0 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 ill.be.useful,.#....but.WITHOUT.
171e0 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 ANY.WARRANTY;.without.even.the.i
17200 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 mplied.warranty.of.#....MERCHANT
17220 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 ABILITY.or.FITNESS.FOR.A.PARTICU
17240 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 LAR.PURPOSE...See.the.#....GNU.G
17260 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 eneral.Public.License.for.more.d
17280 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 etails..#.#....This.module.inher
172a0 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 ited.from.the.Webmin.Module.Temp
172c0 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 late.0.79.1.by.tn..do.'../web-li
172e0 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e b.pl';.do.'../ui-lib.pl';.do.'dn
17300 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 smasq-lib.pl';..$|=1;.&init_conf
17320 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 ig("DNSMasq");..%access=&get_mod
17340 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 ule_acl;..##.put.in.ACL.checks.h
17360 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 ere.if.needed...##.sanity.checks
17380 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 ...##.Insert.Output.code.here.#.
173a0 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 read.config.file.$config_file.=.
173c0 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 &read_file_lines(.$config{config
173e0 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 _file}.);.#.pass.into.data.struc
17400 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 ture.&parse_config_file(.\%confi
17420 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 g,.\$config_file.);.#.read.poste
17440 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 d.data.&ReadParse();.#.check.for
17460 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 .errors.in.read.config.if(.$conf
17480 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e ig{errors}.>.0.).{..&header(."DN
174a0 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c SMasq.settings",."".);..print."<
174c0 68 72 3e 3c 68 32 3e 22 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f hr><h2>";..print.$text{warn_erro
174e0 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 rs};..print.$config{errors};..pr
17500 69 6e 74 20 24 74 65 78 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 int.$text{didnt_apply};..print."
17520 3c 2f 68 33 3e 3c 68 72 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 </h3><hr>\n";..&footer(."/",.$te
17540 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 xt{'index'});..exit;.}.#.adjust.
17560 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 everything.to.what.we.got.#.&hea
17580 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 der(."DNSMasq.settings",."".);.p
175a0 72 69 6e 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 65 64 69 74 5f 78 69 66 61 63 65 7d 2e 22 rint."<h2>".$text{edit_xiface}."
175c0 3c 2f 68 32 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 78 </h2>";.print.&ui_form_start(."x
175e0 69 66 61 63 65 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b iface_edit_apply.cgi",."post".);
17600 0a 70 72 69 6e 74 20 26 75 69 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 .print.&ui_hidden(."idx",.$in{id
17620 78 7d 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d x}.);.print."<br>".$text{in_use}
17640 2e 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 75 73 65 64 22 2c 0a 09 09 09 09 28 24 .&ui_yesno_radio(."used",.....($
17660 63 6f 6e 66 69 67 7b 65 78 5f 69 6e 74 65 72 66 61 63 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 config{ex_interface}[$in{idx}]{u
17680 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b sed})?1:0.);.print."<br>".$text{
176a0 78 69 66 61 63 65 5f 6e 61 6d 65 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 xiface_name};.print.&ui_textbox(
176c0 20 22 69 66 61 63 65 22 2c 20 24 63 6f 6e 66 69 67 7b 65 78 5f 69 6e 74 65 72 66 61 63 65 7d 5b ."iface",.$config{ex_interface}[
176e0 24 69 6e 7b 69 64 78 7d 5d 7b 69 66 61 63 65 7d 2c 20 35 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c $in{idx}]{iface},.50.);.print."<
17700 62 72 3e 3c 62 72 3e 22 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 br><br>"...&ui_submit(.$text{'sa
17720 76 65 5f 62 75 74 74 6f 6e 27 7d 20 29 2e 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f ve_button'}.)."<br>";.print.&ui_
17740 66 6f 72 6d 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 64 65 6c 65 74 form_end();.print."<a.href=delet
17760 65 2e 63 67 69 3f 69 64 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 26 77 68 61 74 3d 65 78 5f 69 e.cgi?idx=".$in{idx}."&what=ex_i
17780 6e 74 65 72 66 61 63 65 26 77 68 65 72 65 3d 64 68 63 70 2e 63 67 69 3e 22 2e 0a 09 09 24 74 65 nterface&where=dhcp.cgi>"....$te
177a0 78 74 7b 64 65 6c 65 74 7d 2e 22 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 20 61 xt{delet}."</a>";.print."<br><.a
177c0 20 68 72 65 66 3d 69 66 61 63 65 2e 63 67 69 3e 22 2e 24 74 65 78 74 7b 69 66 61 63 65 5f 63 6f .href=iface.cgi>".$text{iface_co
177e0 6e 66 69 67 7d 2e 22 3c 2f 61 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 nfig}."</a>";.&footer(."/",.$tex
17800 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 t{'index'});.#..#..#.sub-routine
17820 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 78 69 66 61 63 65 5f 65 64 69 74 2e 63 67 69 20 23 s.#.###.END.of.xiface_edit.cgi.#
17840 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ##..............................
17860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
178a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
178c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
178e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
179e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a00 64 6e 73 6d 61 73 71 2f 6c 69 73 74 65 6e 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 dnsmasq/listen_edit.cgi.........
17a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17a60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
17a80 30 30 30 34 30 37 30 00 31 30 35 31 32 33 32 34 35 35 33 00 30 31 34 32 31 35 00 20 30 00 00 00 0004070.10512324553.014215..0...
17aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
17b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
17b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
17c00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
17c20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 6c 69 73 74 65 6e 5f 65 64 69 74 2e 63 67 69 3b 20 ebmin.Module.-.listen_edit.cgi;.
17c40 20 65 64 69 74 20 6c 69 73 74 65 6e 20 6f 6e 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 .edit.listen.on.#....Copyright.(
17c60 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 C).2006.by.Neil.Fisher.#.....#..
17c80 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b ..This.program.is.free.software;
17ca0 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 .you.can.redistribute.it.and/or.
17cc0 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f modify.#....it.under.the.terms.o
17ce0 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 f.the.GNU.General.Public.License
17d00 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 .as.published.by.#....the.Free.S
17d20 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 oftware.Foundation;.either.versi
17d40 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 on.2.of.the.License,.or.#....(at
17d60 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e .your.option).any.later.version.
17d80 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 .#.#....This.program.is.distribu
17da0 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 ted.in.the.hope.that.it.will.be.
17dc0 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 useful,.#....but.WITHOUT.ANY.WAR
17de0 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 RANTY;.without.even.the.implied.
17e00 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 warranty.of.#....MERCHANTABILITY
17e20 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 .or.FITNESS.FOR.A.PARTICULAR.PUR
17e40 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 POSE...See.the.#....GNU.General.
17e60 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e Public.License.for.more.details.
17e80 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 .#.#....This.module.inherited.fr
17ea0 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e om.the.Webmin.Module.Template.0.
17ec0 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 79.1.by.tn..do.'../web-lib.pl';.
17ee0 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c do.'../ui-lib.pl';.do.'dnsmasq-l
17f00 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 ib.pl';..$|=1;.&init_config("DNS
17f20 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c Masq");..%access=&get_module_acl
17f40 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 ;..##.put.in.ACL.checks.here.if.
17f60 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 20 49 needed...##.sanity.checks...##.I
17f80 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f nsert.Output.code.here.#.read.co
17fa0 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 nfig.file.$config_file.=.&read_f
17fc0 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 ile_lines(.$config{config_file}.
17fe0 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 26 70 );.#.pass.into.data.structure.&p
18000 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f arse_config_file(.\%config,.\$co
18020 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 61 0a nfig_file.);.#.read.posted.data.
18040 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 &ReadParse();.#.check.for.errors
18060 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f .in.read.config.if(.$config{erro
18080 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 rs}.>.0.).{..&header(."DNSMasq.s
180a0 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 72 3e 3c 68 32 3e ettings",."".);..print."<hr><h2>
180c0 22 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 73 7d 3b 0a 09 70 ";..print.$text{warn_errors};..p
180e0 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 74 65 rint.$config{errors};..print.$te
18100 78 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c 2f 68 33 3e 3c 68 xt{didnt_apply};..print."</h3><h
18120 72 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 r>\n";..&footer(."/",.$text{'ind
18140 65 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 ex'});..exit;.}.#.adjust.everyth
18160 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 64 65 72 28 20 22 44 ing.to.what.we.got.#.&header(."D
18180 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 20 22 3c NSMasq.settings",."".);.print."<
181a0 68 32 3e 22 2e 24 74 65 78 74 7b 65 64 69 74 5f 6c 69 73 74 65 6e 7d 2e 22 3c 2f 68 32 3e 22 3b h2>".$text{edit_listen}."</h2>";
181c0 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 6c 69 73 74 65 6e 5f 65 .print.&ui_form_start(."listen_e
181e0 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 6e 74 20 dit_apply.cgi",."post".);.print.
18200 26 75 69 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 78 7d 20 29 3b 0a 70 &ui_hidden(."idx",.$in{idx}.);.p
18220 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f 79 65 rint."<br>".$text{in_use}.&ui_ye
18240 73 6e 6f 5f 72 61 64 69 6f 28 20 22 75 73 65 64 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 69 67 7b sno_radio(."used",.....($config{
18260 6c 69 73 74 65 6e 5f 6f 6e 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 listen_on}[$in{idx}]{used})?1:0.
18280 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 6c 69 73 74 65 6e 5f 6e 61 6d );.print."<br>".$text{listen_nam
182a0 65 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 61 64 64 72 22 2c 20 24 e};.print.&ui_textbox(."addr",.$
182c0 63 6f 6e 66 69 67 7b 6c 69 73 74 65 6e 5f 6f 6e 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 61 64 64 72 config{listen_on}[$in{idx}]{addr
182e0 65 73 73 7d 2c 20 35 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 20 2e 20 26 ess},.50.);.print."<br><br>"...&
18300 75 69 5f 73 75 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f 6e 27 7d 20 ui_submit(.$text{'save_button'}.
18320 29 2e 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 6e 64 28 29 3b 0a )."<br>";.print.&ui_form_end();.
18340 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f 69 64 78 3d 22 2e print."<a.href=delete.cgi?idx=".
18360 24 69 6e 7b 69 64 78 7d 2e 22 26 77 68 61 74 3d 6c 69 73 74 65 6e 5f 6f 6e 26 77 68 65 72 65 3d $in{idx}."&what=listen_on&where=
18380 69 66 61 63 65 2e 63 67 69 22 2e 0a 09 09 22 3e 22 2e 24 74 65 78 74 7b 64 65 6c 65 74 7d 2e 22 iface.cgi"....">".$text{delet}."
183a0 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 69 66 61 63 65 2e </a>";.print."<br><a.href=iface.
183c0 63 67 69 3e 22 2e 24 74 65 78 74 7b 69 66 61 63 65 5f 63 6f 6e 66 69 67 7d 2e 22 3c 2f 61 3e 22 cgi>".$text{iface_config}."</a>"
183e0 3b 0a 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b ;.&footer(."/",.$text{'index'});
18400 0a 23 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 .#..#..#.sub-routines.#.###.END.
18420 6f 66 20 6c 69 73 74 65 6e 5f 65 64 69 74 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 of.listen_edit.cgi.###..........
18440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
184e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
185e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18600 64 6e 73 6d 61 73 71 2f 6e 78 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/nx_edit.cgi.............
18620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
18680 30 30 30 34 30 32 35 00 31 30 35 31 32 33 32 34 36 36 30 00 30 31 33 33 34 33 00 20 30 00 00 00 0004025.10512324660.013343..0...
186a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
186c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
186e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
18720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
18740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
187a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
187c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
187e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18800 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
18820 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 6e 78 5f 65 64 69 74 2e 63 67 69 3b 20 20 65 64 69 ebmin.Module.-.nx_edit.cgi;..edi
18840 74 20 66 6f 72 63 65 64 20 4e 58 44 4f 4d 41 49 4e 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 t.forced.NXDOMAIN.#....Copyright
18860 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 .(C).2006.by.Neil.Fisher.#.....#
18880 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 ....This.program.is.free.softwar
188a0 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f e;.you.can.redistribute.it.and/o
188c0 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 r.modify.#....it.under.the.terms
188e0 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e .of.the.GNU.General.Public.Licen
18900 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 se.as.published.by.#....the.Free
18920 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 .Software.Foundation;.either.ver
18940 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 sion.2.of.the.License,.or.#....(
18960 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f at.your.option).any.later.versio
18980 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 n..#.#....This.program.is.distri
189a0 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 buted.in.the.hope.that.it.will.b
189c0 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 e.useful,.#....but.WITHOUT.ANY.W
189e0 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 ARRANTY;.without.even.the.implie
18a00 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 d.warranty.of.#....MERCHANTABILI
18a20 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 TY.or.FITNESS.FOR.A.PARTICULAR.P
18a40 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 URPOSE...See.the.#....GNU.Genera
18a60 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c l.Public.License.for.more.detail
18a80 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 s..#.#....This.module.inherited.
18aa0 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 from.the.Webmin.Module.Template.
18ac0 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 0.79.1.by.tn..do.'../web-lib.pl'
18ae0 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 ;.do.'../ui-lib.pl';.do.'dnsmasq
18b00 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 -lib.pl';..$|=1;.&init_config("D
18b20 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 NSMasq");..%access=&get_module_a
18b40 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 cl;..##.put.in.ACL.checks.here.i
18b60 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 f.needed...##.sanity.checks...##
18b80 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 .Insert.Output.code.here.#.read.
18ba0 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 config.file.$config_file.=.&read
18bc0 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 _file_lines(.$config{config_file
18be0 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a }.);.#.pass.into.data.structure.
18c00 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 &parse_config_file(.\%config,.\$
18c20 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 config_file.);.#.read.posted.dat
18c40 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f a.&ReadParse();.#.check.for.erro
18c60 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 rs.in.read.config.if(.$config{er
18c80 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 rors}.>.0.).{..&header(."DNSMasq
18ca0 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 72 3e 3c 68 .settings",."".);..print."<hr><h
18cc0 32 3e 22 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 73 7d 3b 0a 2>";..print.$text{warn_errors};.
18ce0 09 70 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 .print.$config{errors};..print.$
18d00 74 65 78 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c 2f 68 33 3e text{didnt_apply};..print."</h3>
18d20 3c 68 72 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 <hr>\n";..&footer(."/",.$text{'i
18d40 6e 64 65 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 ndex'});..exit;.}.#.adjust.every
18d60 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 64 65 72 28 20 thing.to.what.we.got.#.&header(.
18d80 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 20 "DNSMasq.settings",."".);.print.
18da0 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 62 6f 67 75 73 7d 2e 22 3c 2f 68 32 3e 22 3b 0a 70 72 69 "<h2>".$text{bogus}."</h2>";.pri
18dc0 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 6e 78 5f 65 64 69 74 5f 61 70 70 6c nt.&ui_form_start(."nx_edit_appl
18de0 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 6e 74 20 26 75 69 5f 68 69 64 64 y.cgi",."post".);.print.&ui_hidd
18e00 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 78 7d 20 29 3b 0a 70 72 69 6e 74 20 24 74 65 en(."idx",.$in{idx}.);.print.$te
18e20 78 74 7b 66 6f 72 63 65 64 5f 66 72 6f 6d 7d 2e 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 66 xt{forced_from}..&ui_textbox(."f
18e40 72 6f 6d 22 2c 20 0a 09 09 09 09 09 24 63 6f 6e 66 69 67 7b 62 6f 67 75 73 7d 5b 24 69 6e 7b 69 rom",.......$config{bogus}[$in{i
18e60 64 78 7d 5d 7b 61 64 64 72 7d 2c 20 31 35 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 dx}]{addr},.15.);.print."<br>".$
18e80 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 75 text{in_use}.&ui_yesno_radio(."u
18ea0 73 65 64 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 69 67 7b 62 6f 67 75 73 7d 5b 24 69 6e 7b 69 64 sed",.....($config{bogus}[$in{id
18ec0 78 7d 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 x}]{used})?1:0.);.print."<br><br
18ee0 3e 22 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 >"...&ui_submit(.$text{'save_but
18f00 74 6f 6e 27 7d 20 29 2e 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 ton'}.)."<br>";.print.&ui_form_e
18f20 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f nd();.print."<a.href=delete.cgi?
18f40 69 64 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 26 77 68 61 74 3d 62 6f 67 75 73 26 77 68 65 72 idx=".$in{idx}."&what=bogus&wher
18f60 65 3d 61 6c 69 61 73 2e 63 67 69 22 2e 0a 09 22 3e 22 2e 24 74 65 78 74 7b 64 65 6c 65 74 7d 2e e=alias.cgi"...">".$text{delet}.
18f80 22 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 61 6c 69 61 73 "</a>";.print."<br><a.href=alias
18fa0 2e 63 67 69 3e 22 2e 24 74 65 78 74 7b 61 6c 69 61 73 5f 63 6f 6e 66 69 67 7d 2e 22 3c 2f 61 3e .cgi>".$text{alias_config}."</a>
18fc0 22 3b 0a 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 ";.&footer(."/",.$text{'index'})
18fe0 3b 0a 23 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 ;.#..#..#.sub-routines.#.###.END
19000 20 6f 66 20 6e 78 5f 65 64 69 74 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 .of.nx_edit.cgi.###.............
19020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
190a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
190c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
190e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
191e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19200 64 6e 73 6d 61 73 71 2f 61 64 64 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/add.cgi.................
19220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
19280 30 30 30 32 36 35 30 00 31 30 35 31 32 36 32 37 31 31 37 00 30 31 32 34 34 36 00 20 30 00 00 00 0002650.10512627117.012446..0...
192a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
192c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
192e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
19320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
19340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
193a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
193c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
193e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19400 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
19420 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 61 64 64 2e 63 67 69 3b 20 61 64 64 20 61 20 6c 69 ebmin.Module.-.add.cgi;.add.a.li
19440 6e 65 20 20 20 20 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 ne.....#....Copyright.(C).2006.b
19460 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 y.Neil.Fisher.#.....#....This.pr
19480 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 ogram.is.free.software;.you.can.
194a0 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 redistribute.it.and/or.modify.#.
194c0 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 ...it.under.the.terms.of.the.GNU
194e0 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 .General.Public.License.as.publi
19500 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 shed.by.#....the.Free.Software.F
19520 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 oundation;.either.version.2.of.t
19540 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 he.License,.or.#....(at.your.opt
19560 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 ion).any.later.version..#.#....T
19580 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 his.program.is.distributed.in.th
195a0 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 e.hope.that.it.will.be.useful,.#
195c0 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 ....but.WITHOUT.ANY.WARRANTY;.wi
195e0 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 thout.even.the.implied.warranty.
19600 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 of.#....MERCHANTABILITY.or.FITNE
19620 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 SS.FOR.A.PARTICULAR.PURPOSE...Se
19640 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 e.the.#....GNU.General.Public.Li
19660 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 cense.for.more.details..#.#....T
19680 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 his.module.inherited.from.the.We
196a0 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 bmin.Module.Template.0.79.1.by.t
196c0 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 n..do.'../web-lib.pl';.do.'../ui
196e0 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a -lib.pl';.do.'dnsmasq-lib.pl';..
19700 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a $|=1;.&init_config("DNSMasq");..
19720 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 %access=&get_module_acl;..##.put
19740 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a .in.ACL.checks.here.if.needed...
19760 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 ##.sanity.checks...##.Insert.Out
19780 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 put.code.here.#.read.config.file
197a0 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 .$config_file.=.&read_file_lines
197c0 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 (.$config{config_file}.);.#.pass
197e0 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 .into.data.structure.&parse_conf
19800 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 ig_file(.\%config,.\$config_file
19820 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 .);.#.read.posted.data.&ReadPars
19840 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 e();.#.check.for.errors.in.read.
19860 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 config.if(.$config{errors}.>.0.)
19880 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 .{..my.$line="error.cgi?line=xx&
198a0 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 type=".$text{err_configbad};..&r
198c0 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a edirect(.$line.);..exit;.}.#.adj
198e0 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a ust.everything.to.what.we.got.#.
19900 70 75 73 68 20 40 7b 24 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 2c 20 22 23 22 2e 24 69 6e 7b 77 68 push.@{$config_file},."#".$in{wh
19920 61 74 7d 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c at};.#.#.write.file!!.&flush_fil
19940 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 e_lines();.#.#.re-load.basic.pag
19960 65 0a 26 72 65 64 69 72 65 63 74 28 20 24 69 6e 7b 77 68 65 72 65 7d 20 29 3b 0a 0a 23 20 0a 23 e.&redirect(.$in{where}.);..#..#
19980 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 61 64 64 2e 63 .sub-routines.#.###.END.of.add.c
199a0 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 gi.###..........................
199c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
199e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a00 64 6e 73 6d 61 73 71 2f 52 45 41 44 4d 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/README..................
19a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19a60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
19a80 30 30 30 34 32 35 35 00 31 30 35 31 32 36 34 34 30 32 34 00 30 31 32 31 30 36 00 20 30 00 00 00 0004255.10512644024.012106..0...
19aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
19b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
19b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
19c00 0a 54 68 69 73 20 69 73 20 74 68 65 20 52 45 41 44 4d 45 20 66 6f 72 20 74 68 65 20 44 4e 53 6d .This.is.the.README.for.the.DNSm
19c20 61 73 71 20 77 65 62 6d 69 6e 20 6d 6f 64 75 6c 65 2e 0a 0a 50 72 6f 62 6c 65 6d 73 3a 0a 0a 31 asq.webmin.module...Problems:..1
19c40 29 20 54 68 65 72 65 27 73 20 6f 6e 6c 79 20 62 61 73 69 63 20 65 72 72 6f 72 20 63 68 65 63 6b ).There's.only.basic.error.check
19c60 69 6e 67 20 2d 20 69 66 20 79 6f 75 20 65 6e 74 65 72 20 73 6f 6d 65 20 62 61 64 0a 61 64 64 72 ing.-.if.you.enter.some.bad.addr
19c80 65 73 73 65 73 20 6f 72 20 6e 61 6d 65 73 2c 20 74 68 65 79 20 77 69 6c 6c 20 67 6f 20 73 74 72 esses.or.names,.they.will.go.str
19ca0 61 69 67 68 74 20 69 6e 74 6f 20 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 61 6c 74 68 6f aight.into.the.config.file.altho
19cc0 75 67 68 20 77 65 20 64 6f 20 63 68 65 63 6b 20 66 6f 72 20 74 68 69 6e 67 73 20 6c 69 6b 65 20 ugh.we.do.check.for.things.like.
19ce0 49 50 20 61 64 64 72 65 73 73 65 73 20 62 65 69 6e 67 20 6f 66 0a 74 68 65 20 63 6f 72 72 65 63 IP.addresses.being.of.the.correc
19d00 74 20 66 6f 72 6d 20 28 6e 6f 20 6c 65 74 74 65 72 73 2c 20 34 20 67 72 6f 75 70 73 20 6f 66 20 t.form.(no.letters,.4.groups.of.
19d20 75 70 20 74 6f 20 33 20 64 69 67 69 74 73 0a 73 65 70 61 72 61 74 65 64 20 62 79 20 64 6f 74 73 up.to.3.digits.separated.by.dots
19d40 20 65 74 63 29 2e 20 4f 6e 65 20 74 68 69 6e 67 20 74 68 61 74 20 49 53 4e 27 54 20 43 48 45 43 .etc)..One.thing.that.ISN'T.CHEC
19d60 4b 45 44 20 46 4f 52 20 69 73 0a 74 68 61 74 20 49 50 20 64 6f 74 74 65 64 20 71 75 61 64 73 20 KED.FOR.is.that.IP.dotted.quads.
19d80 61 72 65 20 61 6c 6c 20 6e 75 6d 62 65 72 73 20 3c 20 32 35 36 2e 20 41 6e 6f 74 68 65 72 20 69 are.all.numbers.<.256..Another.i
19da0 73 20 74 68 61 74 0a 6e 65 74 6d 61 73 6b 73 20 61 72 65 20 6c 6f 67 69 63 61 6c 20 28 79 6f 75 s.that.netmasks.are.logical.(you
19dc0 20 63 6f 75 6c 64 20 65 6e 74 65 72 20 61 20 6e 65 74 6d 61 73 6b 20 6f 66 20 32 35 35 2e 30 2e .could.enter.a.netmask.of.255.0.
19de0 32 35 35 2e 30 20 0a 66 6f 72 20 65 78 61 6d 70 6c 65 29 2e 20 45 73 73 65 6e 74 69 61 6c 6c 79 255.0..for.example)..Essentially
19e00 2c 20 69 66 20 69 74 27 6c 6c 20 70 61 73 73 20 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a ,.if.it'll.pass.the.config.file.
19e20 72 65 67 65 78 20 73 63 61 6e 6e 65 72 20 28 61 6e 64 20 74 68 65 20 61 62 6f 76 65 20 65 78 61 regex.scanner.(and.the.above.exa
19e40 6d 70 6c 65 73 20 77 69 6c 6c 29 2c 20 69 74 20 77 6f 6e 27 74 20 62 65 20 0a 66 6c 61 67 67 65 mples.will),.it.won't.be..flagge
19e60 64 20 61 73 20 22 62 61 64 22 20 65 76 65 6e 20 69 66 20 69 74 20 69 73 20 61 20 62 69 67 20 6e d.as."bad".even.if.it.is.a.big.n
19e80 6f 2d 6e 6f 20 66 6f 72 20 64 6e 73 6d 61 73 71 20 69 74 73 65 6c 66 2e 20 0a 0a 32 29 20 43 6f o-no.for.dnsmasq.itself....2).Co
19ea0 64 65 20 69 73 20 75 67 6c 79 20 61 6e 64 20 61 20 6b 6c 75 64 67 65 20 2d 20 49 20 61 69 6e 27 de.is.ugly.and.a.kludge.-.I.ain'
19ec0 74 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 21 20 54 68 65 72 65 20 61 72 65 20 70 72 6f 62 61 62 t.a.programmer!.There.are.probab
19ee0 6c 79 20 0a 61 20 6c 6f 74 20 6f 66 20 74 68 69 6e 67 73 20 74 68 61 74 20 63 6f 75 6c 64 20 62 ly..a.lot.of.things.that.could.b
19f00 65 20 64 6f 6e 65 20 74 6f 20 74 69 64 79 20 75 70 20 74 68 65 20 63 6f 64 65 20 2d 20 65 67 2c e.done.to.tidy.up.the.code.-.eg,
19f20 20 0a 69 74 20 70 72 6f 62 61 62 6c 79 20 77 6f 75 6c 64 6e 27 74 20 68 75 72 74 20 74 6f 20 6d ..it.probably.wouldn't.hurt.to.m
19f40 6f 76 65 20 73 6f 6d 65 20 63 6f 6d 6d 6f 6e 20 73 74 75 66 66 20 69 6e 74 6f 20 74 68 65 20 6c ove.some.common.stuff.into.the.l
19f60 69 62 20 66 69 6c 65 2e 0a 0a 33 29 20 49 27 76 65 20 75 73 65 64 20 74 68 65 20 25 74 65 78 74 ib.file...3).I've.used.the.%text
19f80 20 68 61 73 68 20 61 6e 64 20 77 72 69 74 74 65 6e 20 61 6e 20 65 6e 67 6c 69 73 68 20 6c 61 6e .hash.and.written.an.english.lan
19fa0 67 20 66 69 6c 65 2c 20 62 75 74 0a 49 20 61 6d 20 6d 6f 6e 6f 2d 6c 69 6e 67 75 61 6c 20 73 6f g.file,.but.I.am.mono-lingual.so
19fc0 20 6e 6f 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 20 73 75 70 70 6f 72 74 20 61 73 20 79 65 .no.other.language.support.as.ye
19fe0 74 2e 0a 0a 34 29 20 66 6f 72 20 72 65 61 73 6f 6e 73 20 75 6e 6b 6e 6f 77 6e 20 74 6f 20 6d 65 t...4).for.reasons.unknown.to.me
1a000 2c 20 74 68 65 20 69 63 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 61 70 70 65 61 72 20 70 72 6f 70 65 ,.the.icon.does.not.appear.prope
1a020 72 6c 79 0a 6f 6e 20 74 68 65 20 73 65 72 76 65 72 73 20 70 61 67 65 20 6f 66 20 77 65 62 6d 69 rly.on.the.servers.page.of.webmi
1a040 6e 20 28 61 74 20 6c 65 61 73 74 20 69 74 20 64 6f 65 73 6e 27 74 20 66 6f 72 20 6d 65 21 29 0a n.(at.least.it.doesn't.for.me!).
1a060 0a 35 29 20 69 63 6f 6e 73 20 68 61 76 65 20 62 65 65 6e 20 73 68 61 6d 65 6c 65 73 73 6c 79 20 .5).icons.have.been.shamelessly.
1a080 73 74 6f 6c 65 6e 20 66 72 6f 6d 20 74 68 65 20 69 70 66 69 6c 74 65 72 20 6d 6f 64 75 6c 65 2c stolen.from.the.ipfilter.module,
1a0a0 0a 73 70 65 63 69 66 69 63 61 6c 6c 79 20 74 68 65 20 75 70 20 61 6e 64 20 64 6f 77 6e 20 61 72 .specifically.the.up.and.down.ar
1a0c0 72 6f 77 73 2e 0a 0a 36 29 20 69 66 20 79 6f 75 20 64 65 6c 65 74 65 20 61 6e 20 69 74 65 6d 2c rows...6).if.you.delete.an.item,
1a0e0 20 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 0a 61 6e .the.config.file.will.contain.an
1a100 20 6f 74 68 65 72 77 69 73 65 20 65 6d 70 74 79 2c 20 62 75 74 20 63 6f 6d 6d 65 6e 74 65 64 20 .otherwise.empty,.but.commented.
1a120 6c 69 6e 65 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 69 66 0a 79 6f 75 20 61 64 64 line..This.means.that.if.you.add
1a140 20 73 6f 6d 65 20 6e 65 77 20 73 74 75 66 66 2c 20 74 68 65 6e 20 64 65 6c 65 74 65 20 69 74 2c .some.new.stuff,.then.delete.it,
1a160 20 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 77 69 6c 6c 20 68 61 76 65 20 61 20 6e 75 6d .the.config.file.will.have.a.num
1a180 62 65 72 20 6f 66 20 6c 69 6e 65 73 20 61 74 20 74 68 65 20 65 6e 64 20 74 68 61 74 20 61 72 65 ber.of.lines.at.the.end.that.are
1a1a0 20 6a 75 73 74 20 63 6f 6d 6d 65 6e 74 73 2e 0a 54 68 65 72 65 66 6f 72 65 2c 20 74 68 65 20 63 .just.comments..Therefore,.the.c
1a1c0 6f 6e 66 69 67 20 66 69 6c 65 20 63 6f 75 6c 64 20 70 6f 73 73 69 62 6c 79 20 67 72 6f 77 20 71 onfig.file.could.possibly.grow.q
1a1e0 75 69 74 65 20 6c 61 72 67 65 2e 0a 0a 37 29 20 4e 4f 20 49 4e 43 4c 55 44 45 20 46 49 4c 45 53 uite.large...7).NO.INCLUDE.FILES
1a200 21 0a 69 66 20 79 6f 75 20 75 73 65 20 61 6e 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 2c 20 69 74 !.if.you.use.an.include.file,.it
1a220 27 6c 6c 20 62 65 20 66 6c 61 67 67 65 64 20 61 73 20 61 6e 20 65 72 72 6f 72 2e 20 0a 4f 4b 20 'll.be.flagged.as.an.error...OK.
1a240 69 66 20 74 68 65 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 20 6c 69 6e 65 20 69 73 20 63 6f 6d 6d if.the.include.file.line.is.comm
1a260 65 6e 74 65 64 20 6f 75 74 20 74 68 6f 75 67 68 2e 0a 0a 38 29 20 64 65 70 72 65 63 61 74 65 64 ented.out.though...8).deprecated
1a280 20 6c 69 6e 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 20 28 65 67 20 75 73 65 72 20 61 6e .lines.not.supported.(eg.user.an
1a2a0 64 20 67 72 6f 75 70 29 20 2d 20 74 68 65 79 0a 6d 61 79 20 70 72 6f 64 75 63 65 20 61 6e 20 65 d.group).-.they.may.produce.an.e
1a2c0 72 72 6f 72 21 20 28 75 73 65 72 20 61 6e 64 20 67 72 6f 75 70 20 64 6f 6e 27 74 2c 20 62 75 74 rror!.(user.and.group.don't,.but
1a2e0 20 79 6f 75 20 63 61 6e 27 74 20 63 68 61 6e 67 65 0a 74 68 65 6d 29 0a 0a 49 4f 57 2c 20 69 74 .you.can't.change.them)..IOW,.it
1a300 20 77 6f 72 6b 73 2c 20 69 74 27 73 20 6a 75 73 74 20 6e 6f 74 20 76 65 72 79 20 65 6c 65 67 61 .works,.it's.just.not.very.elega
1a320 6e 74 20 61 6e 64 20 6e 6f 74 20 76 65 72 79 20 72 6f 62 75 73 74 2e 0a 0a 48 6f 70 65 20 79 6f nt.and.not.very.robust...Hope.yo
1a340 75 20 66 69 6e 64 20 69 74 20 75 73 65 66 75 6c 20 74 68 6f 75 67 68 20 2d 20 49 20 64 6f 2c 20 u.find.it.useful.though.-.I.do,.
1a360 61 73 20 49 20 70 72 65 76 65 6e 74 73 20 6d 65 20 68 61 76 69 6e 67 20 74 6f 20 65 76 65 72 0a as.I.prevents.me.having.to.ever.
1a380 77 61 64 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 63 6f 6e 66 69 67 20 66 69 6c 65 20 61 6e 64 wade.through.the.config.file.and
1a3a0 20 6d 61 6e 20 70 61 67 65 73 20 61 67 61 69 6e 2e 0a 0a 49 66 20 79 6f 75 20 6d 6f 64 69 66 79 .man.pages.again...If.you.modify
1a3c0 20 69 74 2c 20 6f 72 20 61 64 64 20 61 20 6c 61 6e 67 75 61 67 65 20 66 69 6c 65 2c 20 61 6e 64 .it,.or.add.a.language.file,.and
1a3e0 20 79 6f 75 20 68 61 76 65 20 61 20 73 70 61 72 65 20 6d 6f 6d 65 6e 74 2c 0a 70 6c 65 61 73 65 .you.have.a.spare.moment,.please
1a400 20 65 2d 6d 61 69 6c 20 6d 65 20 2d 20 49 20 77 6f 6e 27 74 20 62 65 20 75 70 73 65 74 20 61 74 .e-mail.me.-.I.won't.be.upset.at
1a420 20 61 6c 6c 20 69 66 20 79 6f 75 20 66 69 78 20 6d 79 20 70 6f 6f 72 20 63 6f 64 69 6e 67 21 0a .all.if.you.fix.my.poor.coding!.
1a440 28 72 61 74 68 65 72 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 2d 20 49 27 64 20 62 65 20 70 6c (rather.the.opposite.-.I'd.be.pl
1a460 65 61 73 65 64 20 73 6f 6d 65 6f 6e 65 20 66 6f 75 6e 64 20 69 74 20 75 73 65 66 75 6c 6c 29 0a eased.someone.found.it.usefull).
1a480 0a 43 68 65 65 72 73 2c 0a 09 4e 65 69 6c 20 46 69 73 68 65 72 20 3c 6e 65 69 6c 40 6d 61 67 6e .Cheers,..Neil.Fisher.<neil@magn
1a4a0 65 63 6f 72 2e 63 6f 6d 2e 61 75 3e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ecor.com.au>....................
1a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a600 64 6e 73 6d 61 73 71 2f 69 66 61 63 65 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 dnsmasq/iface_edit_apply.cgi....
1a620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1a680 30 30 30 33 30 34 30 00 31 30 35 31 32 36 33 33 32 33 33 00 30 31 35 31 36 35 00 20 30 00 00 00 0003040.10512633233.015165..0...
1a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1a720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1a800 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
1a820 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 69 66 61 63 65 5f 65 64 69 74 5f 61 70 70 6c 79 2e ebmin.Module.-.iface_edit_apply.
1a840 63 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 6f cgi;.do.the.update.......#....Co
1a860 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a pyright.(C).2006.by.Neil.Fisher.
1a880 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 #.....#....This.program.is.free.
1a8a0 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 software;.you.can.redistribute.i
1a8c0 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 t.and/or.modify.#....it.under.th
1a8e0 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 e.terms.of.the.GNU.General.Publi
1a900 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 c.License.as.published.by.#....t
1a920 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 he.Free.Software.Foundation;.eit
1a940 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 her.version.2.of.the.License,.or
1a960 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 .#....(at.your.option).any.later
1a980 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 .version..#.#....This.program.is
1a9a0 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
1a9c0 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 .will.be.useful,.#....but.WITHOU
1a9e0 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 T.ANY.WARRANTY;.without.even.the
1aa00 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 .implied.warranty.of.#....MERCHA
1aa20 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 NTABILITY.or.FITNESS.FOR.A.PARTI
1aa40 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 CULAR.PURPOSE...See.the.#....GNU
1aa60 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
1aa80 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 .details..#.#....This.module.inh
1aaa0 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 erited.from.the.Webmin.Module.Te
1aac0 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d mplate.0.79.1.by.tn..do.'../web-
1aae0 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 lib.pl';.do.'../ui-lib.pl';.do.'
1ab00 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f dnsmasq-lib.pl';..$|=1;.&init_co
1ab20 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d nfig("DNSMasq");..%access=&get_m
1ab40 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 odule_acl;..##.put.in.ACL.checks
1ab60 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 .here.if.needed...##.sanity.chec
1ab80 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a ks...##.Insert.Output.code.here.
1aba0 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 #.read.config.file.$config_file.
1abc0 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 =.&read_file_lines(.$config{conf
1abe0 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 ig_file}.);.#.pass.into.data.str
1ac00 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e ucture.&parse_config_file(.\%con
1ac20 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 fig,.\$config_file.);.#.read.pos
1ac40 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 ted.data.&ReadParse();.#.check.f
1ac60 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f or.errors.in.read.config.if(.$co
1ac80 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d nfig{errors}.>.0.).{..my.$line.=
1aca0 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 ."error.cgi?line=xx&type=".$text
1acc0 7b 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 {err_configbad};..&redirect(.$li
1ace0 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 ne.);..exit;.}.#.adjust.everythi
1ad00 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 69 6e ng.to.what.we.got.#.my.$line="in
1ad20 74 65 72 66 61 63 65 3d 22 2e 24 69 6e 7b 69 66 61 63 65 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 terface=".$in{iface};.&update(.$
1ad40 63 6f 6e 66 69 67 7b 69 6e 74 65 72 66 61 63 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 config{interface}[$in{idx}]{line
1ad60 7d 2c 20 24 6c 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 75 },.$line,..$config_file,.(.$in{u
1ad80 73 65 64 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a sed}.==.1.).);.#.#.write.file!!.
1ada0 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 &flush_file_lines();.#.#.re-load
1adc0 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 69 66 61 63 65 2e 63 67 .basic.page.&redirect(."iface.cg
1ade0 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 i".);..#..#.sub-routines.#.###.E
1ae00 4e 44 20 6f 66 20 69 66 61 63 65 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a ND.of.iface_edit_apply.cgi.###..
1ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ae60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ae80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b000 64 6e 73 6d 61 73 71 2f 78 69 66 61 63 65 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 dnsmasq/xiface_edit_apply.cgi...
1b020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1b080 30 30 30 33 30 35 35 00 31 30 35 31 32 36 34 30 33 30 36 00 30 31 35 33 36 32 00 20 30 00 00 00 0003055.10512640306.015362..0...
1b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1b120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b200 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
1b220 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 78 69 66 61 63 65 5f 65 64 69 74 5f 61 70 70 6c 79 ebmin.Module.-.xiface_edit_apply
1b240 2e 63 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 .cgi;.do.the.update.......#....C
1b260 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 opyright.(C).2006.by.Neil.Fisher
1b280 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 .#.....#....This.program.is.free
1b2a0 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 .software;.you.can.redistribute.
1b2c0 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 it.and/or.modify.#....it.under.t
1b2e0 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c he.terms.of.the.GNU.General.Publ
1b300 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 ic.License.as.published.by.#....
1b320 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 the.Free.Software.Foundation;.ei
1b340 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f ther.version.2.of.the.License,.o
1b360 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 r.#....(at.your.option).any.late
1b380 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 r.version..#.#....This.program.i
1b3a0 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 s.distributed.in.the.hope.that.i
1b3c0 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f t.will.be.useful,.#....but.WITHO
1b3e0 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 UT.ANY.WARRANTY;.without.even.th
1b400 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 e.implied.warranty.of.#....MERCH
1b420 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 ANTABILITY.or.FITNESS.FOR.A.PART
1b440 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e ICULAR.PURPOSE...See.the.#....GN
1b460 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
1b480 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e e.details..#.#....This.module.in
1b4a0 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 herited.from.the.Webmin.Module.T
1b4c0 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 emplate.0.79.1.by.tn..do.'../web
1b4e0 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 -lib.pl';.do.'../ui-lib.pl';.do.
1b500 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 'dnsmasq-lib.pl';..$|=1;.&init_c
1b520 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f onfig("DNSMasq");..%access=&get_
1b540 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b module_acl;..##.put.in.ACL.check
1b560 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 s.here.if.needed...##.sanity.che
1b580 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 cks...##.Insert.Output.code.here
1b5a0 0a 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 .#.read.config.file.$config_file
1b5c0 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e .=.&read_file_lines(.$config{con
1b5e0 66 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 fig_file}.);.#.pass.into.data.st
1b600 72 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f ructure.&parse_config_file(.\%co
1b620 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f nfig,.\$config_file.);.#.read.po
1b640 73 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 sted.data.&ReadParse();.#.check.
1b660 66 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 for.errors.in.read.config.if(.$c
1b680 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 onfig{errors}.>.0.).{..my.$line.
1b6a0 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 =."error.cgi?line=xx&type=".$tex
1b6c0 74 7b 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c t{err_configbad};..&redirect(.$l
1b6e0 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 ine.);..exit;.}.#.adjust.everyth
1b700 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 65 ing.to.what.we.got.#.my.$line="e
1b720 78 63 65 70 74 2d 69 6e 74 65 72 66 61 63 65 3d 22 2e 24 69 6e 7b 69 66 61 63 65 7d 3b 0a 26 75 xcept-interface=".$in{iface};.&u
1b740 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 65 78 5f 69 6e 74 65 72 66 61 63 65 7d 5b 24 69 6e pdate(.$config{ex_interface}[$in
1b760 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 24 6c 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 {idx}]{line},.$line,..$config_fi
1b780 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 le,.(.$in{used}.==.1.).);.#.#.wr
1b7a0 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a ite.file!!.&flush_file_lines();.
1b7c0 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 #.#.re-load.basic.page.&redirect
1b7e0 28 20 22 69 66 61 63 65 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 (."iface.cgi".);..#..#.sub-routi
1b800 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 5f 78 69 66 61 63 65 5f 65 64 69 74 5f 61 70 nes.#.###.END.of._xiface_edit_ap
1b820 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ply.cgi.###.....................
1b840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba00 64 6e 73 6d 61 73 71 2f 6c 69 73 74 65 6e 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 dnsmasq/listen_edit_apply.cgi...
1ba20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ba60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1ba80 30 30 30 33 33 32 35 00 31 30 35 31 32 36 34 32 31 35 34 00 30 31 35 34 32 34 00 20 30 00 00 00 0003325.10512642154.015424..0...
1baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bb00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1bb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bc00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
1bc20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 6c 69 73 74 65 6e 5f 65 64 69 74 5f 61 70 70 6c 79 ebmin.Module.-.listen_edit_apply
1bc40 2e 63 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 .cgi;.do.the.update.......#....C
1bc60 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 opyright.(C).2006.by.Neil.Fisher
1bc80 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 .#.....#....This.program.is.free
1bca0 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 .software;.you.can.redistribute.
1bcc0 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 it.and/or.modify.#....it.under.t
1bce0 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c he.terms.of.the.GNU.General.Publ
1bd00 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 ic.License.as.published.by.#....
1bd20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 the.Free.Software.Foundation;.ei
1bd40 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f ther.version.2.of.the.License,.o
1bd60 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 r.#....(at.your.option).any.late
1bd80 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 r.version..#.#....This.program.i
1bda0 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 s.distributed.in.the.hope.that.i
1bdc0 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f t.will.be.useful,.#....but.WITHO
1bde0 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 UT.ANY.WARRANTY;.without.even.th
1be00 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 e.implied.warranty.of.#....MERCH
1be20 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 ANTABILITY.or.FITNESS.FOR.A.PART
1be40 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e ICULAR.PURPOSE...See.the.#....GN
1be60 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
1be80 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e e.details..#.#....This.module.in
1bea0 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 herited.from.the.Webmin.Module.T
1bec0 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 emplate.0.79.1.by.tn..do.'../web
1bee0 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 -lib.pl';.do.'../ui-lib.pl';.do.
1bf00 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 'dnsmasq-lib.pl';..$|=1;.&init_c
1bf20 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f onfig("DNSMasq");..%access=&get_
1bf40 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b module_acl;..##.put.in.ACL.check
1bf60 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 s.here.if.needed...##.sanity.che
1bf80 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 cks...##.Insert.Output.code.here
1bfa0 0a 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 .#.read.config.file.$config_file
1bfc0 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e .=.&read_file_lines(.$config{con
1bfe0 66 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 fig_file}.);.#.pass.into.data.st
1c000 72 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f ructure.&parse_config_file(.\%co
1c020 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f nfig,.\$config_file.);.#.read.po
1c040 73 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 sted.data.&ReadParse();.#.check.
1c060 66 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 for.errors.in.read.config.if(.$c
1c080 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d onfig{errors}.>.0.).{..my.$line=
1c0a0 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b ."error.cgi?line=x&type=".$text{
1c0c0 6c 69 73 74 65 6e 5f 61 64 64 72 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 listen_addr};..&redirect(.$line.
1c0e0 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 70 75 74 20 64 61 );..exit;.}.#.check.for.input.da
1c100 74 61 20 65 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 61 64 64 72 7d 20 21 7e 20 2f 5e 24 49 50 ta.errors.if(.$in{addr}.!~./^$IP
1c120 41 44 44 52 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 20 22 65 72 72 6f 72 2e 63 67 69 ADDR$/.).{..my.$line=."error.cgi
1c140 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 6c 69 73 74 65 6e 5f 61 64 64 72 7d 3b 0a 09 24 6c 69 ?line=".$text{listen_addr};..$li
1c160 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 6f 74 69 70 7d 3b ne..=."&type=".$text{err_notip};
1c180 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 ..&redirect(.$line.);..exit;.}.#
1c1a0 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f .adjust.everything.to.what.we.go
1c1c0 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 6c 69 73 74 65 6e 2d 61 64 64 72 65 73 73 3d 22 2e 24 t.#.my.$line="listen-address=".$
1c1e0 69 6e 7b 61 64 64 72 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 6c 69 73 74 65 in{addr};.&update(.$config{liste
1c200 6e 5f 6f 6e 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 24 6c 69 6e 65 2c 0a 09 24 n_on}[$in{idx}]{line},.$line,..$
1c220 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 7d 20 3d 3d 20 31 20 29 20 config_file,.(.$in{used}.==.1.).
1c240 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f );.#.#.write.file!!.&flush_file_
1c260 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a lines();.#.#.re-load.basic.page.
1c280 26 72 65 64 69 72 65 63 74 28 20 22 69 66 61 63 65 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 &redirect(."iface.cgi".);..#..#.
1c2a0 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 6c 69 73 74 65 6e sub-routines.#.###.END.of.listen
1c2c0 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 _edit_apply.cgi.###.............
1c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c400 64 6e 73 6d 61 73 71 2f 72 61 6e 67 65 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 dnsmasq/range_edit_apply.cgi....
1c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1c480 30 30 30 35 33 35 32 00 31 30 35 31 32 36 34 32 32 30 33 00 30 31 35 32 31 37 00 20 30 00 00 00 0005352.10512642203.015217..0...
1c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1c520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c600 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
1c620 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 72 61 6e 67 65 5f 65 64 69 74 5f 61 70 70 6c 79 2e ebmin.Module.-.range_edit_apply.
1c640 63 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 6f cgi;.do.the.update.......#....Co
1c660 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a pyright.(C).2006.by.Neil.Fisher.
1c680 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 #.....#....This.program.is.free.
1c6a0 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 software;.you.can.redistribute.i
1c6c0 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 t.and/or.modify.#....it.under.th
1c6e0 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 e.terms.of.the.GNU.General.Publi
1c700 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 c.License.as.published.by.#....t
1c720 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 he.Free.Software.Foundation;.eit
1c740 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 her.version.2.of.the.License,.or
1c760 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 .#....(at.your.option).any.later
1c780 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 .version..#.#....This.program.is
1c7a0 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
1c7c0 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 .will.be.useful,.#....but.WITHOU
1c7e0 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 T.ANY.WARRANTY;.without.even.the
1c800 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 .implied.warranty.of.#....MERCHA
1c820 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 NTABILITY.or.FITNESS.FOR.A.PARTI
1c840 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 CULAR.PURPOSE...See.the.#....GNU
1c860 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
1c880 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 .details..#.#....This.module.inh
1c8a0 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 erited.from.the.Webmin.Module.Te
1c8c0 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d mplate.0.79.1.by.tn..do.'../web-
1c8e0 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 lib.pl';.do.'../ui-lib.pl';.do.'
1c900 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f dnsmasq-lib.pl';..$|=1;.&init_co
1c920 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d nfig("DNSMasq");..%access=&get_m
1c940 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 odule_acl;..##.put.in.ACL.checks
1c960 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 .here.if.needed...##.sanity.chec
1c980 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a ks...##.Insert.Output.code.here.
1c9a0 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 #.read.config.file.$config_file.
1c9c0 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 =.&read_file_lines(.$config{conf
1c9e0 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 ig_file}.);.#.pass.into.data.str
1ca00 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e ucture.&parse_config_file(.\%con
1ca20 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 fig,.\$config_file.);.#.read.pos
1ca40 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 ted.data.&ReadParse();.#.check.f
1ca60 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f or.errors.in.read.config.if(.$co
1ca80 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d nfig{errors}.>.0.).{..my.$line.=
1caa0 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 ."error.cgi?line=xx&type=".$text
1cac0 7b 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 {err_configbad};..&redirect(.$li
1cae0 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 70 75 74 ne.);..exit;.}.#.check.for.input
1cb00 20 64 61 74 61 20 65 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 66 72 6f 6d 7d 20 21 7e 20 2f 5e .data.errors.if(.$in{from}.!~./^
1cb20 24 49 50 41 44 44 52 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 $IPADDR$/.).{..my.$line.=."error
1cb40 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 66 72 6f 6d 7d 3b 0a .cgi?line=".$text{forced_from};.
1cb60 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 6f 74 .$line..=."&type=".$text{err_not
1cb80 69 70 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b ip};..&redirect(.$line.);..exit;
1cba0 0a 7d 0a 69 66 28 20 24 69 6e 7b 74 6f 7d 20 21 7e 20 2f 5e 24 49 50 41 44 44 52 24 2f 20 29 0a .}.if(.$in{to}.!~./^$IPADDR$/.).
1cbc0 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e {..my.$line.=."error.cgi?line=".
1cbe0 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 69 70 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 $text{forced_ip};..$line..=."&ty
1cc00 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 6f 74 69 70 7d 3b 0a 09 26 72 65 64 69 72 65 63 pe=".$text{err_notip};..&redirec
1cc20 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 69 66 28 20 28 24 69 6e 7b 6d 61 t(.$line.);..exit;.}.if(.($in{ma
1cc40 73 6b 65 64 7d 29 20 26 26 20 28 24 69 6e 7b 6d 61 73 6b 7d 20 21 7e 20 2f 5e 24 49 50 41 44 44 sked}).&&.($in{mask}.!~./^$IPADD
1cc60 52 24 2f 29 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f R$/).).{..my.$line.=."error.cgi?
1cc80 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 6d 61 73 6b 7d 3b 0a 09 24 6c 69 6e line=".$text{forced_mask};..$lin
1cca0 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 6f 74 6d 61 73 6b 7d e..=."&type=".$text{err_notmask}
1ccc0 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a ;..&redirect(.$line.);..exit;.}.
1cce0 69 66 28 20 28 24 69 6e 7b 74 69 6d 65 64 7d 29 20 26 26 20 28 24 69 6e 7b 27 74 69 6d 65 27 7d if(.($in{timed}).&&.($in{'time'}
1cd00 20 21 7e 20 2f 5e 24 54 49 4d 45 24 2f 29 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 .!~./^$TIME$/).).{..my.$line.=."
1cd20 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 6c 65 61 73 65 74 69 6d 65 error.cgi?line=".$text{leasetime
1cd40 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f };..$line..=."&type=".$text{err_
1cd60 6e 6f 74 74 69 6d 65 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 nottime};..&redirect(.$line.);..
1cd80 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 exit;.}.#.adjust.everything.to.w
1cda0 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 64 68 63 70 2d 72 61 6e 67 hat.we.got.#.my.$line="dhcp-rang
1cdc0 65 3d 22 3b 0a 24 6c 69 6e 65 20 2e 3d 20 24 69 6e 7b 69 64 7d 2e 22 2c 22 20 69 66 20 24 69 6e e=";.$line..=.$in{id}.",".if.$in
1cde0 7b 69 64 65 64 7d 3b 0a 24 6c 69 6e 65 20 2e 3d 20 24 69 6e 7b 66 72 6f 6d 7d 2e 22 2c 22 2e 24 {ided};.$line..=.$in{from}.",".$
1ce00 69 6e 7b 74 6f 7d 3b 0a 24 6c 69 6e 65 20 2e 3d 20 24 69 6e 7b 6d 61 73 6b 7d 20 69 66 20 24 69 in{to};.$line..=.$in{mask}.if.$i
1ce20 6e 7b 6d 61 73 6b 65 64 7d 3b 0a 24 6c 69 6e 65 20 2e 3d 20 24 69 6e 7b 27 74 69 6d 65 27 7d 20 n{masked};.$line..=.$in{'time'}.
1ce40 69 66 20 24 69 6e 7b 74 69 6d 65 64 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b if.$in{timed};.&update(.$config{
1ce60 64 68 63 70 5f 72 61 6e 67 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 24 6c 69 dhcp_range}[$in{idx}]{line},.$li
1ce80 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 7d 20 3d ne,..$config_file,.(.$in{used}.=
1cea0 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 =.1.).);.#.#.write.file!!.&flush
1cec0 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 _file_lines();.#.#.re-load.basic
1cee0 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 64 68 63 70 2e 63 67 69 22 20 29 3b 0a 0a .page.&redirect(."dhcp.cgi".);..
1cf00 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 72 #..#.sub-routines.#.###.END.of.r
1cf20 61 6e 67 65 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a 23 20 61 64 6a 75 73 ange_edit_apply.cgi.###..#.adjus
1cf40 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 6d 79 t.everything.to.what.we.got.#.my
1cf60 20 24 6c 69 6e 65 3d 22 64 68 63 70 2d 72 61 6e 67 65 3d 22 3b 0a 24 6c 69 6e 65 20 2e 3d 20 24 .$line="dhcp-range=";.$line..=.$
1cf80 69 6e 7b 69 64 7d 2e 22 2c 22 20 69 66 20 24 69 6e 7b 69 64 65 64 7d 3b 0a 24 6c 69 6e 65 20 2e in{id}.",".if.$in{ided};.$line..
1cfa0 3d 20 24 69 6e 7b 66 72 6f 6d 7d 2e 22 2c 22 2e 24 69 6e 7b 74 6f 7d 3b 0a 24 6c 69 6e 65 20 2e =.$in{from}.",".$in{to};.$line..
1cfc0 3d 20 24 69 6e 7b 6d 61 73 6b 7d 20 69 66 20 24 69 6e 7b 6d 61 73 6b 65 64 7d 3b 0a 24 6c 69 6e =.$in{mask}.if.$in{masked};.$lin
1cfe0 65 20 2e 3d 20 24 69 6e 7b 27 74 69 6d 65 27 7d 20 69 66 20 24 69 6e 7b 74 69 6d 65 64 7d 3b 0a e..=.$in{'time'}.if.$in{timed};.
1d000 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 5b 24 69 6e &update(.$config{dhcp_range}[$in
1d020 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 24 6c 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 {idx}]{line},.$line,..$config_fi
1d040 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 le,.(.$in{used}.==.1.).);.#.#.wr
1d060 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a ite.file!!.&flush_file_lines();.
1d080 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 #.#.re-load.basic.page.&redirect
1d0a0 28 20 22 64 68 63 70 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e (."dhcp.cgi".);..#..#.sub-routin
1d0c0 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 72 61 6e 67 65 5f 65 64 69 74 5f 61 70 70 6c 79 es.#.###.END.of.range_edit_apply
1d0e0 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .cgi.###........................
1d100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d200 64 6e 73 6d 61 73 71 2f 68 6f 73 74 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/host_edit.cgi...........
1d220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1d280 30 30 30 34 30 35 37 00 31 30 35 31 32 33 35 31 35 33 37 00 30 31 33 37 30 33 00 20 30 00 00 00 0004057.10512351537.013703..0...
1d2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1d320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d400 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
1d420 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 68 6f 73 74 5f 65 64 69 74 2e 63 67 69 3b 20 20 65 ebmin.Module.-.host_edit.cgi;..e
1d440 64 69 74 20 44 48 43 50 20 68 6f 73 74 0a 23 20 20 20 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 dit.DHCP.host.#........Copyright
1d460 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 .(C).2006.by.Neil.Fisher.#.....#
1d480 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 ....This.program.is.free.softwar
1d4a0 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f e;.you.can.redistribute.it.and/o
1d4c0 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 r.modify.#....it.under.the.terms
1d4e0 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e .of.the.GNU.General.Public.Licen
1d500 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 se.as.published.by.#....the.Free
1d520 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 .Software.Foundation;.either.ver
1d540 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 sion.2.of.the.License,.or.#....(
1d560 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f at.your.option).any.later.versio
1d580 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 n..#.#....This.program.is.distri
1d5a0 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 buted.in.the.hope.that.it.will.b
1d5c0 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 e.useful,.#....but.WITHOUT.ANY.W
1d5e0 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 ARRANTY;.without.even.the.implie
1d600 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 d.warranty.of.#....MERCHANTABILI
1d620 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 TY.or.FITNESS.FOR.A.PARTICULAR.P
1d640 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 URPOSE...See.the.#....GNU.Genera
1d660 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c l.Public.License.for.more.detail
1d680 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 s..#.#....This.module.inherited.
1d6a0 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 from.the.Webmin.Module.Template.
1d6c0 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 0.79.1.by.tn..do.'../web-lib.pl'
1d6e0 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 ;.do.'../ui-lib.pl';.do.'dnsmasq
1d700 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 -lib.pl';..$|=1;.&init_config("D
1d720 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 NSMasq");..%access=&get_module_a
1d740 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 cl;..##.put.in.ACL.checks.here.i
1d760 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 f.needed...##.sanity.checks...##
1d780 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 .Insert.Output.code.here.#.read.
1d7a0 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 config.file.$config_file.=.&read
1d7c0 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 _file_lines(.$config{config_file
1d7e0 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a }.);.#.pass.into.data.structure.
1d800 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 &parse_config_file(.\%config,.\$
1d820 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 config_file.);.#.read.posted.dat
1d840 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f a.&ReadParse();.#.check.for.erro
1d860 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 rs.in.read.config.if(.$config{er
1d880 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 rors}.>.0.).{..&header(."DNSMasq
1d8a0 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 72 3e 3c 68 .settings",."".);..print."<hr><h
1d8c0 32 3e 22 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 73 7d 3b 0a 2>";..print.$text{warn_errors};.
1d8e0 09 70 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 .print.$config{errors};..print.$
1d900 74 65 78 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c 2f 68 33 3e text{didnt_apply};..print."</h3>
1d920 3c 68 72 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 <hr>\n";..&footer(."/",.$text{'i
1d940 6e 64 65 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 ndex'});..exit;.}.#.adjust.every
1d960 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 64 65 72 28 20 thing.to.what.we.got.#.&header(.
1d980 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 20 "DNSMasq.settings",."".);.print.
1d9a0 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 65 64 69 74 5f 68 6f 73 74 7d 2e 22 3c 2f 68 32 3e 22 3b "<h2>".$text{edit_host}."</h2>";
1d9c0 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 68 6f 73 74 5f 65 64 69 .print.&ui_form_start(."host_edi
1d9e0 74 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 6e 74 20 26 75 t_apply.cgi",."post".);.print.&u
1da00 69 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 78 7d 20 29 3b 0a 70 72 69 i_hidden(."idx",.$in{idx}.);.pri
1da20 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f 79 65 73 6e nt."<br>".$text{in_use}.&ui_yesn
1da40 6f 5f 72 61 64 69 6f 28 20 22 75 73 65 64 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 69 67 7b 64 68 o_radio(."used",.....($config{dh
1da60 63 70 5f 68 6f 73 74 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b cp_host}[$in{idx}]{used})?1:0.);
1da80 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 68 6f 73 74 5f 73 70 65 63 7d 3b 0a .print."<br>".$text{host_spec};.
1daa0 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 68 6f 73 74 22 2c 20 24 63 6f 6e 66 print.&ui_textbox(."host",.$conf
1dac0 69 67 7b 64 68 63 70 5f 68 6f 73 74 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6f 70 74 69 6f 6e 7d 2c ig{dhcp_host}[$in{idx}]{option},
1dae0 20 38 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 20 2e 20 26 75 69 5f 73 75 .80.);.print."<br><br>"...&ui_su
1db00 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f 6e 27 7d 20 29 2e 22 3c 62 bmit(.$text{'save_button'}.)."<b
1db20 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 r>";.print.&ui_form_end();.print
1db40 20 22 3c 61 20 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f 69 64 78 3d 22 2e 24 69 6e 7b 69 ."<a.href=delete.cgi?idx=".$in{i
1db60 64 78 7d 2e 22 26 77 68 61 74 3d 64 68 63 70 5f 68 6f 73 74 26 77 68 65 72 65 3d 64 68 63 70 2e dx}."&what=dhcp_host&where=dhcp.
1db80 63 67 69 22 2e 0a 09 22 3e 22 2e 24 74 65 78 74 7b 64 65 6c 65 74 7d 2e 22 3c 2f 61 3e 22 3b 0a cgi"...">".$text{delet}."</a>";.
1dba0 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 64 68 63 70 2e 63 67 69 3e 22 2e 24 74 print."<br><a.href=dhcp.cgi>".$t
1dbc0 65 78 74 7b 44 48 43 50 5f 73 65 74 74 69 6e 67 73 7d 2e 22 3c 2f 61 3e 22 3b 0a 26 66 6f 6f 74 ext{DHCP_settings}."</a>";.&foot
1dbe0 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 0a 0a 23 20 0a er(."/",.$text{'index'});.#..#..
1dc00 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 68 6f 73 74 #.sub-routines.#.###.END.of.host
1dc20 5f 65 64 69 74 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 _edit.cgi.###...................
1dc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de00 64 6e 73 6d 61 73 71 2f 72 61 6e 67 65 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 dnsmasq/range_edit.cgi..........
1de20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1de80 30 30 30 35 34 31 33 00 31 30 35 31 32 33 34 37 31 36 35 00 30 31 34 30 32 31 00 20 30 00 00 00 0005413.10512347165.014021..0...
1dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1df20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e000 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
1e020 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 72 61 6e 67 65 5f 65 64 69 74 2e 63 67 69 3b 20 20 ebmin.Module.-.range_edit.cgi;..
1e040 44 48 43 50 20 72 61 6e 67 65 20 65 64 69 74 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 DHCP.range.edit.#....Copyright.(
1e060 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 C).2006.by.Neil.Fisher.#.....#..
1e080 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b ..This.program.is.free.software;
1e0a0 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 .you.can.redistribute.it.and/or.
1e0c0 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f modify.#....it.under.the.terms.o
1e0e0 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 f.the.GNU.General.Public.License
1e100 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 .as.published.by.#....the.Free.S
1e120 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 oftware.Foundation;.either.versi
1e140 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 on.2.of.the.License,.or.#....(at
1e160 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e .your.option).any.later.version.
1e180 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 .#.#....This.program.is.distribu
1e1a0 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 ted.in.the.hope.that.it.will.be.
1e1c0 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 useful,.#....but.WITHOUT.ANY.WAR
1e1e0 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 RANTY;.without.even.the.implied.
1e200 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 warranty.of.#....MERCHANTABILITY
1e220 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 .or.FITNESS.FOR.A.PARTICULAR.PUR
1e240 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 POSE...See.the.#....GNU.General.
1e260 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e Public.License.for.more.details.
1e280 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 .#.#....This.module.inherited.fr
1e2a0 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e om.the.Webmin.Module.Template.0.
1e2c0 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 79.1.by.tn..do.'../web-lib.pl';.
1e2e0 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c do.'../ui-lib.pl';.do.'dnsmasq-l
1e300 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 ib.pl';..$|=1;.&init_config("DNS
1e320 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c Masq");..%access=&get_module_acl
1e340 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 ;..##.put.in.ACL.checks.here.if.
1e360 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 20 49 needed...##.sanity.checks...##.I
1e380 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f nsert.Output.code.here.#.read.co
1e3a0 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 nfig.file.$config_file.=.&read_f
1e3c0 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 ile_lines(.$config{config_file}.
1e3e0 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 26 70 );.#.pass.into.data.structure.&p
1e400 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f arse_config_file(.\%config,.\$co
1e420 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 61 0a nfig_file.);.#.read.posted.data.
1e440 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 &ReadParse();.#.check.for.errors
1e460 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f .in.read.config.if(.$config{erro
1e480 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 rs}.>.0.).{..&header(."DNSMasq.s
1e4a0 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 72 3e 3c 68 32 3e ettings",."".);..print."<hr><h2>
1e4c0 22 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 73 7d 3b 0a 09 70 ";..print.$text{warn_errors};..p
1e4e0 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 74 65 rint.$config{errors};..print.$te
1e500 78 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c 2f 68 33 3e 3c 68 xt{didnt_apply};..print."</h3><h
1e520 72 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 r>\n";..&footer(."/",.$text{'ind
1e540 65 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 ex'});..exit;.}.#.adjust.everyth
1e560 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 64 65 72 28 20 22 44 ing.to.what.we.got.#.&header(."D
1e580 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 20 22 3c NSMasq.settings",."".);.print."<
1e5a0 68 32 3e 22 2e 24 74 65 78 74 7b 72 61 6e 67 65 5f 65 64 69 74 7d 2e 22 3c 2f 68 32 3e 22 3b 0a h2>".$text{range_edit}."</h2>";.
1e5c0 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 72 61 6e 67 65 5f 65 64 69 print.&ui_form_start(."range_edi
1e5e0 74 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 6e 74 20 26 75 t_apply.cgi",."post".);.print.&u
1e600 69 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 78 7d 20 29 3b 0a 70 72 69 i_hidden(."idx",.$in{idx}.);.pri
1e620 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f 79 65 73 6e nt."<br>".$text{in_use}.&ui_yesn
1e640 6f 5f 72 61 64 69 6f 28 20 22 75 73 65 64 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 69 67 7b 64 68 o_radio(."used",.....($config{dh
1e660 63 70 5f 72 61 6e 67 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 cp_range}[$in{idx}]{used})?1:0.)
1e680 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 64 65 64 7d 2e 26 75 69 5f 79 ;.print."<br>".$text{ided}.&ui_y
1e6a0 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 69 64 65 64 22 2c 20 0a 09 09 09 09 28 24 63 6f 6e 66 69 esno_radio(."ided",......($confi
1e6c0 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 69 64 5f 75 73 65 64 7d g{dhcp_range}[$in{idx}]{id_used}
1e6e0 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 64 7d 3b )?1:0.);.print."<br>".$text{id};
1e700 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 69 64 22 2c 20 24 63 6f 6e 66 69 .print.&ui_textbox(."id",.$confi
1e720 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 69 64 7d 2c 20 35 30 20 g{dhcp_range}[$in{idx}]{id},.50.
1e740 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 66 72 6f );.print."<br>".$text{forced_fro
1e760 6d 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 66 72 6f 6d 22 2c 20 24 m};.print.&ui_textbox(."from",.$
1e780 63 6f 6e 66 69 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 73 74 61 config{dhcp_range}[$in{idx}]{sta
1e7a0 72 74 7d 2c 20 31 38 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 66 6f rt},.18.);.print."<br>".$text{fo
1e7c0 72 63 65 64 5f 69 70 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 74 6f rced_ip};.print.&ui_textbox(."to
1e7e0 22 2c 20 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d ",.$config{dhcp_range}[$in{idx}]
1e800 7b 65 6e 64 7d 2c 20 31 38 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b {end},.18.);.print."<br>".$text{
1e820 66 6f 72 63 65 64 5f 6d 61 73 6b 5f 75 73 65 64 7d 2e 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 forced_mask_used}.&ui_yesno_radi
1e840 6f 28 20 22 6d 61 73 6b 65 64 22 2c 20 0a 09 09 09 09 28 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f o(."masked",......($config{dhcp_
1e860 72 61 6e 67 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6d 61 73 6b 5f 75 73 65 64 7d 29 3f 31 3a 30 range}[$in{idx}]{mask_used})?1:0
1e880 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 6d 61 .);.print."<br>".$text{forced_ma
1e8a0 73 6b 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 6d 61 73 6b 22 2c 20 sk};.print.&ui_textbox(."mask",.
1e8c0 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6d 61 $config{dhcp_range}[$in{idx}]{ma
1e8e0 73 6b 7d 2c 20 31 38 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 74 69 sk},.18.);.print."<br>".$text{ti
1e900 6d 65 64 7d 2e 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 74 69 6d 65 64 22 2c 20 0a med}.&ui_yesno_radio(."timed",..
1e920 09 09 09 09 28 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 72 61 6e 67 65 7d 5b 24 69 6e 7b 69 64 78 ....($config{dhcp_range}[$in{idx
1e940 7d 5d 7b 74 69 6d 65 5f 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 }]{time_used})?1:0.);.print."<br
1e960 3e 22 2e 24 74 65 78 74 7b 6c 65 61 73 65 74 69 6d 65 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 >".$text{leasetime};.print.&ui_t
1e980 65 78 74 62 6f 78 28 20 22 74 69 6d 65 22 2c 20 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 72 61 6e extbox(."time",.$config{dhcp_ran
1e9a0 67 65 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 65 61 73 65 74 69 6d 65 7d 2c 20 31 38 20 29 3b 0a ge}[$in{idx}]{leasetime},.18.);.
1e9c0 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 20 24 print."<br><br>"...&ui_submit(.$
1e9e0 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f 6e 27 7d 20 29 2e 22 3c 62 72 3e 22 3b 0a 70 72 text{'save_button'}.)."<br>";.pr
1ea00 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 int.&ui_form_end();.print."<a.hr
1ea20 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f 69 64 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 26 77 ef=delete.cgi?idx=".$in{idx}."&w
1ea40 68 61 74 3d 64 68 63 70 5f 72 61 6e 67 65 26 77 68 65 72 65 3d 64 68 63 70 2e 63 67 69 22 2e 0a hat=dhcp_range&where=dhcp.cgi"..
1ea60 09 09 22 3e 22 2e 24 74 65 78 74 7b 64 65 6c 65 74 7d 2e 22 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 ..">".$text{delet}."</a>";.print
1ea80 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 64 68 63 70 2e 63 67 69 3e 22 2e 24 74 65 78 74 7b 44 ."<br><a.href=dhcp.cgi>".$text{D
1eaa0 48 43 50 5f 73 65 74 74 69 6e 67 73 7d 2e 22 3c 2f 61 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 20 22 HCP_settings}."</a>";.&footer(."
1eac0 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 0a 0a 23 20 0a 23 20 73 75 62 /",.$text{'index'});.#..#..#.sub
1eae0 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 72 61 6e 67 65 5f 65 64 69 -routines.#.###.END.of.range_edi
1eb00 74 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t.cgi.###.......................
1eb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec00 64 6e 73 6d 61 73 71 2f 6f 70 74 69 6f 6e 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 dnsmasq/option_edit.cgi.........
1ec20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1ec80 30 30 30 34 30 37 36 00 31 30 35 31 32 33 35 31 35 31 37 00 30 31 34 32 33 35 00 20 30 00 00 00 0004076.10512351517.014235..0...
1eca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ecc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ece0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1ed20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
1ee20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 6f 70 74 69 6f 6e 5f 65 64 69 74 2e 63 67 69 3b 20 ebmin.Module.-.option_edit.cgi;.
1ee40 20 65 64 69 74 20 44 48 43 50 20 6f 70 74 69 6f 6e 0a 23 20 20 20 20 20 20 20 20 43 6f 70 79 72 .edit.DHCP.option.#........Copyr
1ee60 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 ight.(C).2006.by.Neil.Fisher.#..
1ee80 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 ...#....This.program.is.free.sof
1eea0 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 tware;.you.can.redistribute.it.a
1eec0 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 nd/or.modify.#....it.under.the.t
1eee0 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c erms.of.the.GNU.General.Public.L
1ef00 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 icense.as.published.by.#....the.
1ef20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 Free.Software.Foundation;.either
1ef40 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 .version.2.of.the.License,.or.#.
1ef60 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 ...(at.your.option).any.later.ve
1ef80 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 rsion..#.#....This.program.is.di
1efa0 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 stributed.in.the.hope.that.it.wi
1efc0 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 ll.be.useful,.#....but.WITHOUT.A
1efe0 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d NY.WARRANTY;.without.even.the.im
1f000 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 plied.warranty.of.#....MERCHANTA
1f020 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c BILITY.or.FITNESS.FOR.A.PARTICUL
1f040 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 AR.PURPOSE...See.the.#....GNU.Ge
1f060 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 neral.Public.License.for.more.de
1f080 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 tails..#.#....This.module.inheri
1f0a0 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c ted.from.the.Webmin.Module.Templ
1f0c0 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 ate.0.79.1.by.tn..do.'../web-lib
1f0e0 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 .pl';.do.'../ui-lib.pl';.do.'dns
1f100 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 masq-lib.pl';..$|=1;.&init_confi
1f120 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 g("DNSMasq");..%access=&get_modu
1f140 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 le_acl;..##.put.in.ACL.checks.he
1f160 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a re.if.needed...##.sanity.checks.
1f180 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 ..##.Insert.Output.code.here.#.r
1f1a0 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 ead.config.file.$config_file.=.&
1f1c0 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f read_file_lines(.$config{config_
1f1e0 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 file}.);.#.pass.into.data.struct
1f200 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 ure.&parse_config_file(.\%config
1f220 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 ,.\$config_file.);.#.read.posted
1f240 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 .data.&ReadParse();.#.check.for.
1f260 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 errors.in.read.config.if(.$confi
1f280 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 g{errors}.>.0.).{..&header(."DNS
1f2a0 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 Masq.settings",."".);..print."<h
1f2c0 72 3e 3c 68 32 3e 22 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 r><h2>";..print.$text{warn_error
1f2e0 73 7d 3b 0a 09 70 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 s};..print.$config{errors};..pri
1f300 6e 74 20 24 74 65 78 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c nt.$text{didnt_apply};..print."<
1f320 2f 68 33 3e 3c 68 72 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 /h3><hr>\n";..&footer(."/",.$tex
1f340 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 t{'index'});..exit;.}.#.adjust.e
1f360 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 64 verything.to.what.we.got.#.&head
1f380 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 er(."DNSMasq.settings",."".);.pr
1f3a0 69 6e 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 65 64 69 74 5f 6f 70 74 7d 2e 22 3c 2f 68 32 int."<h2>".$text{edit_opt}."</h2
1f3c0 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 6f 70 74 69 6f >";.print.&ui_form_start(."optio
1f3e0 6e 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 n_edit_apply.cgi",."post".);.pri
1f400 6e 74 20 26 75 69 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 78 7d 20 29 nt.&ui_hidden(."idx",.$in{idx}.)
1f420 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 ;.print."<br>".$text{in_use}.&ui
1f440 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 75 73 65 64 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 _yesno_radio(."used",.....($conf
1f460 69 67 7b 64 68 63 70 5f 6f 70 74 69 6f 6e 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 73 65 64 7d 29 ig{dhcp_option}[$in{idx}]{used})
1f480 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 6f 70 74 69 6f ?1:0.);.print."<br>".$text{optio
1f4a0 6e 5f 73 70 65 63 7d 3b 0a 70 72 69 6e 74 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 68 6f 73 n_spec};.print.&ui_textbox(."hos
1f4c0 74 22 2c 20 24 63 6f 6e 66 69 67 7b 64 68 63 70 5f 6f 70 74 69 6f 6e 7d 5b 24 69 6e 7b 69 64 78 t",.$config{dhcp_option}[$in{idx
1f4e0 7d 5d 7b 6f 70 74 69 6f 6e 7d 2c 20 38 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 }]{option},.80.);.print."<br><br
1f500 3e 22 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 >"...&ui_submit(.$text{'save_but
1f520 74 6f 6e 27 7d 20 29 2e 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 ton'}.)."<br>";.print.&ui_form_e
1f540 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f nd();.print."<a.href=delete.cgi?
1f560 69 64 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 26 77 68 61 74 3d 64 68 63 70 5f 6f 70 74 69 6f idx=".$in{idx}."&what=dhcp_optio
1f580 6e 26 77 68 65 72 65 3d 64 68 63 70 2e 63 67 69 22 2e 0a 09 22 3e 22 2e 24 74 65 78 74 7b 64 65 n&where=dhcp.cgi"...">".$text{de
1f5a0 6c 65 74 7d 2e 22 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d let}."</a>";.print."<br><a.href=
1f5c0 64 68 63 70 2e 63 67 69 3e 22 2e 24 74 65 78 74 7b 44 48 43 50 5f 73 65 74 74 69 6e 67 73 7d 2e dhcp.cgi>".$text{DHCP_settings}.
1f5e0 22 3c 2f 61 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 "</a>";.&footer(."/",.$text{'ind
1f600 65 78 27 7d 29 3b 0a 23 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 ex'});.#..#..#.sub-routines.#.##
1f620 23 20 45 4e 44 20 6f 66 20 6f 70 74 69 6f 6e 5f 65 64 69 74 2e 63 67 69 20 23 23 23 2e 0a 00 00 #.END.of.option_edit.cgi.###....
1f640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f800 64 6e 73 6d 61 73 71 2f 68 6f 73 74 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 00 dnsmasq/host_edit_apply.cgi.....
1f820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f860 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
1f880 30 30 30 33 30 33 32 00 31 30 35 31 32 36 33 33 30 30 32 00 30 31 35 30 36 36 00 20 30 00 00 00 0003032.10512633002.015066..0...
1f8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
1f920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
1f940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
1fa20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 68 6f 73 74 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 ebmin.Module.-.host_edit_apply.c
1fa40 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 6f 70 gi;.do.the.update.......#....Cop
1fa60 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 yright.(C).2006.by.Neil.Fisher.#
1fa80 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 .....#....This.program.is.free.s
1faa0 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 oftware;.you.can.redistribute.it
1fac0 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 .and/or.modify.#....it.under.the
1fae0 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 .terms.of.the.GNU.General.Public
1fb00 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 .License.as.published.by.#....th
1fb20 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 e.Free.Software.Foundation;.eith
1fb40 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a er.version.2.of.the.License,.or.
1fb60 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 #....(at.your.option).any.later.
1fb80 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 version..#.#....This.program.is.
1fba0 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 distributed.in.the.hope.that.it.
1fbc0 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 will.be.useful,.#....but.WITHOUT
1fbe0 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 .ANY.WARRANTY;.without.even.the.
1fc00 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e implied.warranty.of.#....MERCHAN
1fc20 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 TABILITY.or.FITNESS.FOR.A.PARTIC
1fc40 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 ULAR.PURPOSE...See.the.#....GNU.
1fc60 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 General.Public.License.for.more.
1fc80 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 details..#.#....This.module.inhe
1fca0 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d rited.from.the.Webmin.Module.Tem
1fcc0 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c plate.0.79.1.by.tn..do.'../web-l
1fce0 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 ib.pl';.do.'../ui-lib.pl';.do.'d
1fd00 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e nsmasq-lib.pl';..$|=1;.&init_con
1fd20 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f fig("DNSMasq");..%access=&get_mo
1fd40 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 dule_acl;..##.put.in.ACL.checks.
1fd60 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b here.if.needed...##.sanity.check
1fd80 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 s...##.Insert.Output.code.here.#
1fda0 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d .read.config.file.$config_file.=
1fdc0 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 .&read_file_lines(.$config{confi
1fde0 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 g_file}.);.#.pass.into.data.stru
1fe00 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 cture.&parse_config_file(.\%conf
1fe20 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 ig,.\$config_file.);.#.read.post
1fe40 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f ed.data.&ReadParse();.#.check.fo
1fe60 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e r.errors.in.read.config.if(.$con
1fe80 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 fig{errors}.>.0.).{..my.$line="e
1fea0 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 rror.cgi?line=xx&type=".$text{er
1fec0 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 r_configbad};..&redirect(.$line.
1fee0 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 );..exit;.}.#.adjust.everything.
1ff00 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 64 68 63 70 2d to.what.we.got.#.my.$line="dhcp-
1ff20 68 6f 73 74 3d 22 2e 24 69 6e 7b 68 6f 73 74 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 host=".$in{host};.&update(.$conf
1ff40 69 67 7b 64 68 63 70 5f 68 6f 73 74 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 24 ig{dhcp_host}[$in{idx}]{line},.$
1ff60 6c 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 7d line,..$config_file,.(.$in{used}
1ff80 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 .==.1.).);.#.#.write.file!!.&flu
1ffa0 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 sh_file_lines();.#.#.re-load.bas
1ffc0 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 64 68 63 70 2e 63 67 69 22 20 29 3b ic.page.&redirect(."dhcp.cgi".);
1ffe0 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 ..#..#.sub-routines.#.###.END.of
20000 20 68 6f 73 74 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 .host_edit_apply.cgi.###........
20020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
200e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
201e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20200 64 6e 73 6d 61 73 71 2f 69 66 61 63 65 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 00 00 00 00 00 dnsmasq/iface_apply.cgi.........
20220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20260 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
20280 30 30 30 33 30 30 32 00 31 30 35 31 32 36 33 33 31 35 36 00 30 31 34 31 36 32 00 20 30 00 00 00 0003002.10512633156.014162..0...
202a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
202e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
20320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
20340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
203e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20400 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
20420 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 69 66 61 63 65 5f 61 70 70 6c 79 2e 63 67 69 3b 20 ebmin.Module.-.iface_apply.cgi;.
20440 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 6f 70 79 72 69 67 do.the.update.......#....Copyrig
20460 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 ht.(C).2006.by.Neil.Fisher.#....
20480 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 .#....This.program.is.free.softw
204a0 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 are;.you.can.redistribute.it.and
204c0 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 /or.modify.#....it.under.the.ter
204e0 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 ms.of.the.GNU.General.Public.Lic
20500 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 ense.as.published.by.#....the.Fr
20520 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 ee.Software.Foundation;.either.v
20540 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 ersion.2.of.the.License,.or.#...
20560 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 .(at.your.option).any.later.vers
20580 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 ion..#.#....This.program.is.dist
205a0 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c ributed.in.the.hope.that.it.will
205c0 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 .be.useful,.#....but.WITHOUT.ANY
205e0 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c .WARRANTY;.without.even.the.impl
20600 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 ied.warranty.of.#....MERCHANTABI
20620 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 LITY.or.FITNESS.FOR.A.PARTICULAR
20640 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 .PURPOSE...See.the.#....GNU.Gene
20660 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 ral.Public.License.for.more.deta
20680 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 ils..#.#....This.module.inherite
206a0 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 d.from.the.Webmin.Module.Templat
206c0 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 e.0.79.1.by.tn..do.'../web-lib.p
206e0 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 l';.do.'../ui-lib.pl';.do.'dnsma
20700 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 sq-lib.pl';..$|=1;.&init_config(
20720 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 "DNSMasq");..%access=&get_module
20740 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 _acl;..##.put.in.ACL.checks.here
20760 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a .if.needed...##.sanity.checks...
20780 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 ##.Insert.Output.code.here.#.rea
207a0 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 d.config.file.$config_file.=.&re
207c0 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 ad_file_lines(.$config{config_fi
207e0 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 le}.);.#.pass.into.data.structur
20800 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 e.&parse_config_file(.\%config,.
20820 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 \$config_file.);.#.read.posted.d
20840 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 ata.&ReadParse();.#.check.for.er
20860 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b rors.in.read.config.if(.$config{
20880 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 errors}.>.0.).{..my.$line.=."err
208a0 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f or.cgi?line=xx&type=".$text{err_
208c0 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b configbad};..&redirect(.$line.);
208e0 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f ..exit;.}.#.adjust.everything.to
20900 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b .what.we.got.#.&update(.$config{
20920 62 69 6e 64 5f 69 6e 74 65 72 66 61 63 65 73 7d 7b 6c 69 6e 65 7d 2c 20 22 62 69 6e 64 2d 69 6e bind_interfaces}{line},."bind-in
20940 74 65 72 66 61 63 65 73 22 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b terfaces",..$config_file,.(.$in{
20960 62 69 6e 64 5f 69 66 61 63 65 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 bind_iface}.==.1.).);.#.#.write.
20980 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 file!!.&flush_file_lines();.#.#.
209a0 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 69 re-load.basic.page.&redirect(."i
209c0 66 61 63 65 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a face.cgi".);..#..#.sub-routines.
209e0 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 69 66 61 63 65 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 #.###.END.of.iface_apply.cgi.###
20a00 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c00 64 6e 73 6d 61 73 71 2f 66 6f 72 63 65 64 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 dnsmasq/forced_edit.cgi.........
20c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
20c80 30 30 30 34 32 33 30 00 31 30 35 31 32 33 32 34 32 36 30 00 30 31 34 31 35 32 00 20 30 00 00 00 0004230.10512324260.014152..0...
20ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
20d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
20d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20e00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
20e20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 66 6f 72 63 65 64 5f 65 64 69 74 2e 63 67 69 3b 20 ebmin.Module.-.forced_edit.cgi;.
20e40 20 66 6f 72 63 65 64 20 64 6f 6d 61 69 6e 20 72 65 73 70 6f 6e 73 65 20 65 64 69 74 0a 23 20 20 .forced.domain.response.edit.#..
20e60 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 ..Copyright.(C).2006.by.Neil.Fis
20e80 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 her.#.....#....This.program.is.f
20ea0 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 ree.software;.you.can.redistribu
20ec0 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 te.it.and/or.modify.#....it.unde
20ee0 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 r.the.terms.of.the.GNU.General.P
20f00 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 ublic.License.as.published.by.#.
20f20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b ...the.Free.Software.Foundation;
20f40 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 .either.version.2.of.the.License
20f60 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c ,.or.#....(at.your.option).any.l
20f80 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 ater.version..#.#....This.progra
20fa0 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 m.is.distributed.in.the.hope.tha
20fc0 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 t.it.will.be.useful,.#....but.WI
20fe0 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e THOUT.ANY.WARRANTY;.without.even
21000 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 .the.implied.warranty.of.#....ME
21020 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 RCHANTABILITY.or.FITNESS.FOR.A.P
21040 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 ARTICULAR.PURPOSE...See.the.#...
21060 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 .GNU.General.Public.License.for.
21080 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 more.details..#.#....This.module
210a0 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c .inherited.from.the.Webmin.Modul
210c0 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f e.Template.0.79.1.by.tn..do.'../
210e0 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a web-lib.pl';.do.'../ui-lib.pl';.
21100 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 do.'dnsmasq-lib.pl';..$|=1;.&ini
21120 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 t_config("DNSMasq");..%access=&g
21140 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 et_module_acl;..##.put.in.ACL.ch
21160 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 ecks.here.if.needed...##.sanity.
21180 63 68 65 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 checks...##.Insert.Output.code.h
211a0 65 72 65 0a 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 ere.#.read.config.file.$config_f
211c0 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b ile.=.&read_file_lines(.$config{
211e0 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 config_file}.);.#.pass.into.data
21200 20 73 74 72 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c .structure.&parse_config_file(.\
21220 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 %config,.\$config_file.);.#.read
21240 20 70 6f 73 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 .posted.data.&ReadParse();.#.che
21260 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 ck.for.errors.in.read.config.if(
21280 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 .$config{errors}.>.0.).{..&heade
212a0 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 r(."DNSMasq.settings",."".);..pr
212c0 69 6e 74 20 22 3c 68 72 3e 3c 68 32 3e 22 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 int."<hr><h2>";..print.$text{war
212e0 6e 5f 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 n_errors};..print.$config{errors
21300 7d 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 };..print.$text{didnt_apply};..p
21320 72 69 6e 74 20 22 3c 2f 68 33 3e 3c 68 72 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f rint."</h3><hr>\n";..&footer(."/
21340 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 ",.$text{'index'});..exit;.}.#.a
21360 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a djust.everything.to.what.we.got.
21380 23 0a 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 #.&header(."DNSMasq.settings",."
213a0 22 20 29 3b 0a 70 72 69 6e 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 7d 2e ".);.print."<h2>".$text{forced}.
213c0 22 3c 2f 68 32 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 "</h2>";.print.&ui_form_start(."
213e0 66 6f 72 63 65 64 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 forced_edit_apply.cgi",."post".)
21400 3b 0a 70 72 69 6e 74 20 26 75 69 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 ;.print.&ui_hidden(."idx",.$in{i
21420 64 78 7d 20 29 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 64 6f 6d 61 69 6e dx}.);.print.$text{forced_domain
21440 7d 2e 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 64 6f 6d 61 69 6e 22 2c 20 0a 09 09 09 09 09 }..&ui_textbox(."domain",.......
21460 24 63 6f 6e 66 69 67 7b 66 6f 72 63 65 64 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 64 6f 6d 61 69 6e $config{forced}[$in{idx}]{domain
21480 7d 2c 20 35 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 },.50.);.print."<br>";.print.$te
214a0 78 74 7b 66 6f 72 63 65 64 5f 69 70 7d 2e 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 74 6f 22 xt{forced_ip}..&ui_textbox(."to"
214c0 2c 20 0a 09 09 09 09 09 24 63 6f 6e 66 69 67 7b 66 6f 72 63 65 64 7d 5b 24 69 6e 7b 69 64 78 7d ,.......$config{forced}[$in{idx}
214e0 5d 7b 61 64 64 72 7d 2c 20 31 35 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 ]{addr},.15.);.print."<br>".$tex
21500 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 75 73 65 64 t{in_use}.&ui_yesno_radio(."used
21520 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 69 67 7b 66 6f 72 63 65 64 7d 5b 24 69 6e 7b 69 64 78 7d ",.....($config{forced}[$in{idx}
21540 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 ]{used})?1:0.);.print."<br><br>"
21560 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f ...&ui_submit(.$text{'save_butto
21580 6e 27 7d 20 29 2e 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 6e 64 n'}.)."<br>";.print.&ui_form_end
215a0 28 29 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f 69 64 ();.print."<a.href=delete.cgi?id
215c0 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 26 77 68 61 74 3d 66 6f 72 63 65 64 26 77 68 65 72 65 x=".$in{idx}."&what=forced&where
215e0 3d 61 6c 69 61 73 2e 63 67 69 22 2e 0a 09 22 3e 22 2e 24 74 65 78 74 7b 64 65 6c 65 74 7d 2e 22 =alias.cgi"...">".$text{delet}."
21600 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 61 6c 69 61 73 2e </a>";.print."<br><a.href=alias.
21620 63 67 69 3e 22 2e 24 74 65 78 74 7b 61 6c 69 61 73 5f 63 6f 6e 66 69 67 7d 2e 22 3c 2f 61 3e 22 cgi>".$text{alias_config}."</a>"
21640 3b 0a 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b ;.&footer(."/",.$text{'index'});
21660 0a 23 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 .#..#..#.sub-routines.#.###.END.
21680 6f 66 20 66 6f 72 63 65 64 5f 65 64 69 74 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 of.forced_edit.cgi.###..........
216a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
216c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
216e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
217e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21800 64 6e 73 6d 61 73 71 2f 61 6c 69 61 73 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 dnsmasq/alias_edit.cgi..........
21820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21860 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
21880 30 30 30 34 33 35 30 00 31 30 35 31 32 36 32 37 33 34 35 00 30 31 34 30 31 36 00 20 30 00 00 00 0004350.10512627345.014016..0...
218a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
218c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
218e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
21920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
21940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
219e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21a00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
21a20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 61 6c 69 61 73 5f 65 64 69 74 2e 63 67 69 3b 20 20 ebmin.Module.-.alias_edit.cgi;..
21a40 49 50 20 61 6c 69 61 73 20 65 64 69 74 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 IP.alias.edit.#....Copyright.(C)
21a60 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 20 .2006.by.Neil.Fisher.#.....#....
21a80 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 This.program.is.free.software;.y
21aa0 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f ou.can.redistribute.it.and/or.mo
21ac0 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 dify.#....it.under.the.terms.of.
21ae0 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 the.GNU.General.Public.License.a
21b00 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 s.published.by.#....the.Free.Sof
21b20 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e tware.Foundation;.either.version
21b40 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 79 .2.of.the.License,.or.#....(at.y
21b60 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 our.option).any.later.version..#
21b80 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 .#....This.program.is.distribute
21ba0 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 d.in.the.hope.that.it.will.be.us
21bc0 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 eful,.#....but.WITHOUT.ANY.WARRA
21be0 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 NTY;.without.even.the.implied.wa
21c00 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f rranty.of.#....MERCHANTABILITY.o
21c20 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f r.FITNESS.FOR.A.PARTICULAR.PURPO
21c40 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 SE...See.the.#....GNU.General.Pu
21c60 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 blic.License.for.more.details..#
21c80 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d .#....This.module.inherited.from
21ca0 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 39 .the.Webmin.Module.Template.0.79
21cc0 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f .1.by.tn..do.'../web-lib.pl';.do
21ce0 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 62 .'../ui-lib.pl';.do.'dnsmasq-lib
21d00 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d 61 .pl';..$|=1;.&init_config("DNSMa
21d20 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a sq");..%access=&get_module_acl;.
21d40 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e 65 .##.put.in.ACL.checks.here.if.ne
21d60 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 eded...##.sanity.checks...##.Ins
21d80 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f 6e 66 ert.Output.code.here.#.read.conf
21da0 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 6c ig.file.$config_file.=.&read_fil
21dc0 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 29 3b e_lines(.$config{config_file}.);
21de0 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 26 70 61 72 .#.pass.into.data.structure.&par
21e00 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 se_config_file(.\%config,.\$conf
21e20 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 61 0a 26 52 ig_file.);.#.read.posted.data.&R
21e40 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 69 eadParse();.#.check.for.errors.i
21e60 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 n.read.config.if(.$config{errors
21e80 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 3f 6c }.>.0.).{..my.$line="error.cgi?l
21ea0 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 63 6f 6e 66 69 67 62 61 ine=xx&type=".$text{err_configba
21ec0 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a d};..&redirect(.$line.);..exit;.
21ee0 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 }.#.adjust.everything.to.what.we
21f00 20 67 6f 74 0a 23 0a 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 .got.#.&header(."DNSMasq.setting
21f20 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 20 22 3c 68 32 3e 22 2e 24 74 65 78 74 7b 61 6c 69 s",."".);.print."<h2>".$text{ali
21f40 61 73 7d 2e 22 3c 2f 68 32 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 as}."</h2>";.print.&ui_form_star
21f60 74 28 20 22 61 6c 69 61 73 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 t(."alias_edit_apply.cgi",."post
21f80 22 20 29 3b 0a 70 72 69 6e 74 20 26 75 69 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 ".);.print.&ui_hidden(."idx",.$i
21fa0 6e 7b 69 64 78 7d 20 29 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 66 72 6f n{idx}.);.print.$text{forced_fro
21fc0 6d 7d 2e 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 66 72 6f 6d 22 2c 20 0a 09 09 09 09 09 24 m}..&ui_textbox(."from",.......$
21fe0 63 6f 6e 66 69 67 7b 61 6c 69 61 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 66 72 6f 6d 7d 2c 20 31 config{alias}[$in{idx}]{from},.1
22000 35 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 66 5.);.print."<br>";.print.$text{f
22020 6f 72 63 65 64 5f 69 70 7d 2e 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 74 6f 22 2c 20 0a 09 orced_ip}..&ui_textbox(."to",...
22040 09 09 09 09 24 63 6f 6e 66 69 67 7b 61 6c 69 61 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 74 6f 7d ....$config{alias}[$in{idx}]{to}
22060 2c 20 31 35 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 ,.15.);.print."<br>";.print.$tex
22080 74 7b 66 6f 72 63 65 64 5f 6d 61 73 6b 5f 75 73 65 64 7d 2e 20 26 75 69 5f 79 65 73 6e 6f 5f 72 t{forced_mask_used}..&ui_yesno_r
220a0 61 64 69 6f 28 20 22 6d 61 73 6b 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 69 67 7b 61 6c 69 61 73 adio(."mask",.....($config{alias
220c0 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6e 65 74 6d 61 73 6b 5f 75 73 65 64 7d 29 3f 31 3a 30 20 29 }[$in{idx}]{netmask_used})?1:0.)
220e0 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 6d 61 73 6b 7d 2e 20 26 75 69 5f ;.print.$text{forced_mask}..&ui_
22100 74 65 78 74 62 6f 78 28 20 22 6e 65 74 6d 61 73 6b 22 2c 0a 09 09 09 09 24 63 6f 6e 66 69 67 7b textbox(."netmask",.....$config{
22120 61 6c 69 61 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6e 65 74 6d 61 73 6b 7d 2c 20 31 35 20 29 3b alias}[$in{idx}]{netmask},.15.);
22140 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f .print."<br>".$text{in_use}.&ui_
22160 79 65 73 6e 6f 5f 72 61 64 69 6f 28 20 22 75 73 65 64 22 2c 0a 09 09 09 09 28 24 63 6f 6e 66 69 yesno_radio(."used",.....($confi
22180 67 7b 66 6f 72 63 65 64 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 g{forced}[$in{idx}]{used})?1:0.)
221a0 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 ;.print."<br><br>"...&ui_submit(
221c0 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f 6e 27 7d 20 29 2e 22 3c 62 72 3e 22 3b 0a .$text{'save_button'}.)."<br>";.
221e0 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 61 20 print.&ui_form_end();.print."<a.
22200 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f 69 64 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 href=delete.cgi?idx=".$in{idx}."
22220 26 77 68 61 74 3d 61 6c 69 61 73 26 77 68 65 72 65 3d 61 6c 69 61 73 2e 63 67 69 22 2e 0a 09 22 &what=alias&where=alias.cgi"..."
22240 3e 22 2e 24 74 65 78 74 7b 64 65 6c 65 74 7d 2e 22 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 20 22 3c >".$text{delet}."</a>";.print."<
22260 62 72 3e 3c 61 20 68 72 65 66 3d 61 6c 69 61 73 2e 63 67 69 3e 22 2e 24 74 65 78 74 7b 61 6c 69 br><a.href=alias.cgi>".$text{ali
22280 61 73 5f 63 6f 6e 66 69 67 7d 2e 22 3c 2f 61 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c as_config}."</a>";.&footer(."/",
222a0 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f .$text{'index'});.#..#..#.sub-ro
222c0 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 61 6c 69 61 73 5f 65 64 69 74 2e 63 utines.#.###.END.of.alias_edit.c
222e0 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 gi.###..........................
22300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
223a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
223c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
223e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22400 64 6e 73 6d 61 73 71 2f 6f 70 74 69 6f 6e 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 dnsmasq/option_edit_apply.cgi...
22420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22460 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
22480 30 30 30 33 30 34 30 00 31 30 35 31 32 36 33 33 35 37 31 00 30 31 35 34 33 33 00 20 30 00 00 00 0003040.10512633571.015433..0...
224a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
224c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
224e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22500 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
22520 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
22540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
225a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
225c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
225e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22600 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
22620 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 6f 70 74 69 6f 6e 5f 65 64 69 74 5f 61 70 70 6c 79 ebmin.Module.-.option_edit_apply
22640 2e 63 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 .cgi;.do.the.update.......#....C
22660 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 opyright.(C).2006.by.Neil.Fisher
22680 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 .#.....#....This.program.is.free
226a0 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 .software;.you.can.redistribute.
226c0 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 it.and/or.modify.#....it.under.t
226e0 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c he.terms.of.the.GNU.General.Publ
22700 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 ic.License.as.published.by.#....
22720 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 the.Free.Software.Foundation;.ei
22740 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f ther.version.2.of.the.License,.o
22760 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 r.#....(at.your.option).any.late
22780 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 r.version..#.#....This.program.i
227a0 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 s.distributed.in.the.hope.that.i
227c0 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f t.will.be.useful,.#....but.WITHO
227e0 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 UT.ANY.WARRANTY;.without.even.th
22800 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 e.implied.warranty.of.#....MERCH
22820 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 ANTABILITY.or.FITNESS.FOR.A.PART
22840 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e ICULAR.PURPOSE...See.the.#....GN
22860 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
22880 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e e.details..#.#....This.module.in
228a0 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 herited.from.the.Webmin.Module.T
228c0 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 emplate.0.79.1.by.tn..do.'../web
228e0 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 -lib.pl';.do.'../ui-lib.pl';.do.
22900 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 'dnsmasq-lib.pl';..$|=1;.&init_c
22920 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f onfig("DNSMasq");..%access=&get_
22940 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b module_acl;..##.put.in.ACL.check
22960 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 s.here.if.needed...##.sanity.che
22980 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 cks...##.Insert.Output.code.here
229a0 0a 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 .#.read.config.file.$config_file
229c0 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e .=.&read_file_lines(.$config{con
229e0 66 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 fig_file}.);.#.pass.into.data.st
22a00 72 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f ructure.&parse_config_file(.\%co
22a20 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f nfig,.\$config_file.);.#.read.po
22a40 73 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 sted.data.&ReadParse();.#.check.
22a60 66 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 for.errors.in.read.config.if(.$c
22a80 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d onfig{errors}.>.0.).{..my.$line=
22aa0 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b ."error.cgi?line=x&type=".$text{
22ac0 6c 69 73 74 65 6e 5f 61 64 64 72 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 listen_addr};..&redirect(.$line.
22ae0 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 );..exit;.}.#.adjust.everything.
22b00 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 64 68 63 70 2d to.what.we.got.#.my.$line="dhcp-
22b20 6f 70 74 69 6f 6e 3d 22 2e 24 69 6e 7b 68 6f 73 74 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 6f option=".$in{host};.&update(.$co
22b40 6e 66 69 67 7b 64 68 63 70 5f 6f 70 74 69 6f 6e 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 nfig{dhcp_option}[$in{idx}]{line
22b60 7d 2c 20 24 6c 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 75 },.$line,..$config_file,.(.$in{u
22b80 73 65 64 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a sed}.==.1.).);.#.#.write.file!!.
22ba0 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 &flush_file_lines();.#.#.re-load
22bc0 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 64 68 63 70 2e 63 67 69 .basic.page.&redirect(."dhcp.cgi
22be0 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e ".);..#..#.sub-routines.#.###.EN
22c00 44 20 6f 66 20 6f 70 74 69 6f 6e 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a D.of.option_edit_apply.cgi.###..
22c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e00 64 6e 73 6d 61 73 71 2f 62 61 73 69 63 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 00 00 00 00 00 dnsmasq/basic_apply.cgi.........
22e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
22e80 30 30 30 37 32 30 30 00 31 30 35 31 32 36 34 32 30 33 37 00 30 31 34 31 37 36 00 20 30 00 00 00 0007200.10512642037.014176..0...
22ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22f00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
22f20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
22f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23000 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
23020 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 64 6e 73 5f 61 70 70 6c 79 2e 63 67 69 3b 20 75 70 ebmin.Module.-.dns_apply.cgi;.up
23040 64 61 74 65 20 62 61 73 69 63 20 44 4e 53 20 69 6e 66 6f 20 20 20 20 20 0a 23 20 20 20 20 43 6f date.basic.DNS.info......#....Co
23060 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a pyright.(C).2006.by.Neil.Fisher.
23080 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 #.....#....This.program.is.free.
230a0 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 software;.you.can.redistribute.i
230c0 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 t.and/or.modify.#....it.under.th
230e0 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 e.terms.of.the.GNU.General.Publi
23100 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 c.License.as.published.by.#....t
23120 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 he.Free.Software.Foundation;.eit
23140 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 her.version.2.of.the.License,.or
23160 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 .#....(at.your.option).any.later
23180 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 .version..#.#....This.program.is
231a0 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
231c0 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 .will.be.useful,.#....but.WITHOU
231e0 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 T.ANY.WARRANTY;.without.even.the
23200 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 .implied.warranty.of.#....MERCHA
23220 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 NTABILITY.or.FITNESS.FOR.A.PARTI
23240 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 CULAR.PURPOSE...See.the.#....GNU
23260 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
23280 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 .details..#.#....This.module.inh
232a0 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 erited.from.the.Webmin.Module.Te
232c0 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d mplate.0.79.1.by.tn..do.'../web-
232e0 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 lib.pl';.do.'../ui-lib.pl';.do.'
23300 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f dnsmasq-lib.pl';..$|=1;.&init_co
23320 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d nfig("DNSMasq");..%access=&get_m
23340 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 odule_acl;..##.put.in.ACL.checks
23360 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 .here.if.needed...##.sanity.chec
23380 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a ks...##.Insert.Output.code.here.
233a0 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 #.read.config.file.$config_file.
233c0 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 =.&read_file_lines(.$config{conf
233e0 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 ig_file}.);.#.pass.into.data.str
23400 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e ucture.&parse_config_file(.\%con
23420 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 fig,.\$config_file.);.#.read.pos
23440 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 ted.data.&ReadParse();.#.check.f
23460 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f or.errors.in.read.config.if(.$co
23480 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d nfig{errors}.>.0.).{..my.$line.=
234a0 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 ."error.cgi?line=xx&type=".$text
234c0 7b 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 {err_configbad};..&redirect(.$li
234e0 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 75 73 65 72 20 69 6e 70 75 ne.);..exit;.}.#.check.user.inpu
23500 74 20 66 6f 72 20 6f 62 76 69 6f 75 73 20 65 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 6c 6f 63 t.for.obvious.errors.if(.$in{loc
23520 61 6c 5f 64 6f 6d 61 69 6e 7d 20 21 7e 20 2f 5e 24 46 49 4c 45 24 2f 20 29 0a 7b 0a 09 6d 79 20 al_domain}.!~./^$FILE$/.).{..my.
23540 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b $line.=."error.cgi?line=".$text{
23560 6c 6f 63 61 6c 5f 64 6f 6d 61 69 6e 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d local_domain};..$line..=."&type=
23580 22 2e 24 74 65 78 74 7b 65 72 72 5f 64 6f 6d 61 69 6e 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 ".$text{err_domainbad};..&redire
235a0 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 69 66 28 20 28 24 69 6e 7b 78 ct(.$line.);..exit;.}.if(.($in{x
235c0 68 6f 73 74 73 7d 29 20 26 26 20 28 24 69 6e 7b 61 64 64 6e 5f 68 6f 73 74 73 7d 20 21 7e 20 2f hosts}).&&.($in{addn_hosts}.!~./
235e0 5e 24 46 49 4c 45 24 2f 29 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 ^$FILE$/).).{..my.$line.=."error
23600 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 78 68 6f 73 74 73 66 69 6c 65 7d 3b 0a 09 .cgi?line=".$text{xhostsfile};..
23620 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 66 69 6c 65 $line..=."&type=".$text{err_file
23640 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 bad};..&redirect(.$line.);..exit
23660 3b 0a 7d 0a 69 66 28 20 28 24 69 6e 7b 63 61 63 68 65 5f 73 69 7a 65 7d 29 20 26 26 20 28 24 69 ;.}.if(.($in{cache_size}).&&.($i
23680 6e 7b 63 75 73 74 5f 63 61 63 68 65 5f 73 69 7a 65 7d 20 21 7e 20 2f 5e 24 4e 55 4d 42 45 52 2f n{cust_cache_size}.!~./^$NUMBER/
236a0 29 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e ).).{..my.$line.=."error.cgi?lin
236c0 65 3d 22 2e 24 74 65 78 74 7b 63 75 73 74 5f 63 61 63 68 65 5f 73 69 7a 65 7d 3b 0a 09 24 6c 69 e=".$text{cust_cache_size};..$li
236e0 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 75 6d 62 62 61 64 ne..=."&type=".$text{err_numbbad
23700 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d };..&redirect(.$line.);..exit;.}
23720 0a 69 66 28 20 28 24 69 6e 7b 6c 6f 63 61 6c 5f 74 74 6c 7d 29 20 26 26 20 28 24 69 6e 7b 74 74 .if(.($in{local_ttl}).&&.($in{tt
23740 6c 7d 20 21 7e 20 2f 5e 24 4e 55 4d 42 45 52 2f 29 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 l}.!~./^$NUMBER/).).{..my.$line.
23760 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 74 74 6c 7d 3b 0a =."error.cgi?line=".$text{ttl};.
23780 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 75 6d .$line..=."&type=".$text{err_num
237a0 62 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 bbad};..&redirect(.$line.);..exi
237c0 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 t;.}.#.adjust.everything.to.what
237e0 20 77 65 20 67 6f 74 0a 0a 23 0a 23 6f 75 72 20 6c 6f 63 61 6c 20 64 6f 6d 61 69 6e 0a 23 0a 26 .we.got..#.#our.local.domain.#.&
23800 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 64 6f 6d 61 69 6e 7d 7b 6c 69 6e 65 7d 2c 20 22 update(.$config{domain}{line},."
23820 64 6f 6d 61 69 6e 3d 22 2e 24 69 6e 7b 6c 6f 63 61 6c 5f 64 6f 6d 61 69 6e 7d 2c 20 0a 09 24 63 domain=".$in{local_domain},...$c
23840 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 31 20 29 3b 0a 23 0a 23 20 6e 65 65 64 20 64 6f 6d 61 69 6e onfig_file,.1.);.#.#.need.domain
23860 73 20 66 6f 72 20 66 6f 72 77 61 72 64 65 64 20 6c 6f 6f 6b 75 70 73 3f 0a 23 20 0a 26 75 70 64 s.for.forwarded.lookups?.#..&upd
23880 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 64 6f 6d 61 69 6e 5f 6e 65 65 64 65 64 7d 7b 6c 69 6e 65 ate(.$config{domain_needed}{line
238a0 7d 2c 20 22 64 6f 6d 61 69 6e 2d 6e 65 65 64 65 64 22 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 },."domain-needed",...$config_fi
238c0 6c 65 2c 20 28 20 24 69 6e 7b 64 6f 6d 61 69 6e 5f 6e 65 65 64 65 64 7d 20 3d 3d 20 31 20 29 20 le,.(.$in{domain_needed}.==.1.).
238e0 29 3b 0a 0a 23 0a 23 20 61 64 64 20 6c 6f 63 61 6c 20 64 6f 6d 61 69 6e 20 74 6f 20 6c 6f 63 61 );..#.#.add.local.domain.to.loca
23900 6c 20 68 6f 73 74 73 3f 0a 23 20 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 65 78 70 l.hosts?.#..&update(.$config{exp
23920 61 6e 64 5f 68 6f 73 74 73 7d 7b 6c 69 6e 65 7d 2c 20 22 65 78 70 61 6e 64 2d 68 6f 73 74 73 22 and_hosts}{line},."expand-hosts"
23940 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 65 78 70 61 6e 64 5f 68 ,...$config_file,.(.$in{expand_h
23960 6f 73 74 73 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 72 65 76 65 72 73 65 20 6c 6f 6f 6b osts}.==.1.).);.#.#.reverse.look
23980 75 70 73 20 6f 66 20 6c 6f 63 61 6c 20 73 75 62 6e 65 74 73 20 70 72 6f 70 6f 67 61 74 69 6e 67 ups.of.local.subnets.propogating
239a0 3f 0a 23 20 0a 23 20 4e 4f 54 45 3a 20 72 65 76 65 72 73 65 64 20 6c 6f 67 69 63 20 69 6e 20 71 ?.#..#.NOTE:.reversed.logic.in.q
239c0 75 65 73 74 69 6f 6e 21 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 62 6f 67 75 73 5f uestion!.&update(.$config{bogus_
239e0 70 72 69 76 7d 7b 6c 69 6e 65 7d 2c 20 22 62 6f 67 75 73 2d 70 72 69 76 22 2c 20 0a 09 24 63 6f priv}{line},."bogus-priv",...$co
23a00 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 62 6f 67 75 73 5f 70 72 69 76 7d 20 3d 3d 20 nfig_file,.(.$in{bogus_priv}.==.
23a20 30 20 29 20 29 3b 0a 23 0a 23 20 72 65 76 65 72 73 65 20 6c 6f 6f 6b 75 70 73 20 6f 66 20 6c 6f 0.).);.#.#.reverse.lookups.of.lo
23a40 63 61 6c 20 73 75 62 6e 65 74 73 20 70 72 6f 70 6f 67 61 74 69 6e 67 3f 0a 23 20 0a 26 75 70 64 cal.subnets.propogating?.#..&upd
23a60 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 66 69 6c 74 65 72 77 69 6e 32 6b 7d 7b 6c 69 6e 65 7d 2c ate(.$config{filterwin2k}{line},
23a80 20 22 66 69 6c 74 65 72 77 69 6e 32 6b 22 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 ."filterwin2k",...$config_file,.
23aa0 28 20 24 69 6e 7b 66 69 6c 74 65 72 77 69 6e 32 6b 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 (.$in{filterwin2k}.==.1.).);.#.#
23ac0 20 72 65 61 64 20 2f 65 74 63 2f 68 6f 73 74 73 3f 0a 23 20 0a 23 20 20 4e 4f 54 45 3a 20 72 65 .read./etc/hosts?.#..#..NOTE:.re
23ae0 76 65 72 73 65 20 6c 6f 67 69 63 20 69 6e 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 26 75 70 64 61 verse.logic.in.config.file.&upda
23b00 74 65 28 20 24 63 6f 6e 66 69 67 7b 6e 6f 5f 68 6f 73 74 73 7d 7b 6c 69 6e 65 7d 2c 20 22 6e 6f te(.$config{no_hosts}{line},."no
23b20 2d 68 6f 73 74 73 22 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 68 -hosts",...$config_file,.(.$in{h
23b40 6f 73 74 73 7d 20 3d 3d 20 30 20 29 20 29 3b 0a 23 0a 23 20 72 65 61 64 20 65 78 74 72 61 20 68 osts}.==.0.).);.#.#.read.extra.h
23b60 6f 73 74 73 20 66 69 6c 65 3f 0a 23 20 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 61 osts.file?.#..&update(.$config{a
23b80 64 64 6e 5f 68 6f 73 74 73 7d 7b 6c 69 6e 65 7d 2c 20 22 61 64 64 6e 2d 68 6f 73 74 73 3d 22 2e ddn_hosts}{line},."addn-hosts=".
23ba0 24 69 6e 7b 61 64 64 6e 5f 68 6f 73 74 73 7d 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c $in{addn_hosts},...$config_file,
23bc0 20 28 20 24 69 6e 7b 78 68 6f 73 74 73 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 6e 65 67 .(.$in{xhosts}.==.1.).);.#.#.neg
23be0 61 74 69 76 65 20 63 61 63 68 69 6e 67 3f 0a 23 20 0a 23 20 4e 4f 54 45 3a 20 72 65 76 65 72 73 ative.caching?.#..#.NOTE:.revers
23c00 65 20 6c 6f 67 69 63 20 69 6e 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 26 75 70 64 61 74 65 28 20 e.logic.in.config.file.&update(.
23c20 24 63 6f 6e 66 69 67 7b 6e 65 67 5f 63 61 63 68 65 7d 7b 6c 69 6e 65 7d 2c 20 22 6e 6f 2d 6e 65 $config{neg_cache}{line},."no-ne
23c40 67 63 61 63 68 65 22 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 6e gcache",...$config_file,.(.$in{n
23c60 65 67 5f 63 61 63 68 65 7d 20 3d 3d 20 30 20 29 20 29 3b 0a 23 0a 23 20 63 75 73 74 6f 6d 20 63 eg_cache}.==.0.).);.#.#.custom.c
23c80 61 63 68 65 20 73 69 7a 65 3f 0a 23 20 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 63 ache.size?.#..&update(.$config{c
23ca0 61 63 68 65 5f 73 69 7a 65 7d 7b 6c 69 6e 65 7d 2c 20 22 63 61 63 68 65 2d 73 69 7a 65 3d 22 2e ache_size}{line},."cache-size=".
23cc0 24 69 6e 7b 63 75 73 74 5f 63 61 63 68 65 5f 73 69 7a 65 7d 2c 20 0a 09 24 63 6f 6e 66 69 67 5f $in{cust_cache_size},...$config_
23ce0 66 69 6c 65 2c 20 28 20 24 69 6e 7b 63 61 63 68 65 5f 73 69 7a 65 7d 20 3d 3d 20 31 20 29 20 29 file,.(.$in{cache_size}.==.1.).)
23d00 3b 0a 23 0a 23 20 6c 6f 67 20 61 6c 6c 20 6c 6f 6f 6b 75 70 73 3f 0a 23 20 0a 26 75 70 64 61 74 ;.#.#.log.all.lookups?.#..&updat
23d20 65 28 20 24 63 6f 6e 66 69 67 7b 6c 6f 67 5f 71 75 65 72 69 65 73 7d 7b 6c 69 6e 65 7d 2c 20 22 e(.$config{log_queries}{line},."
23d40 6c 6f 67 2d 71 75 65 72 69 65 73 22 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 log-queries",...$config_file,.(.
23d60 24 69 6e 7b 6c 6f 67 5f 71 75 65 72 69 65 73 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 63 $in{log_queries}.==.1.).);.#.#.c
23d80 61 63 68 65 20 73 69 7a 65 3f 0a 23 20 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 6c ache.size?.#..&update(.$config{l
23da0 6f 63 61 6c 5f 74 74 6c 7d 7b 6c 69 6e 65 7d 2c 20 22 6c 6f 63 61 6c 2d 74 74 6c 3d 22 2e 24 69 ocal_ttl}{line},."local-ttl=".$i
23dc0 6e 7b 74 74 6c 7d 2c 20 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 6c 6f n{ttl},...$config_file,.(.$in{lo
23de0 63 61 6c 5f 74 74 6c 7d 20 3d 3d 20 31 29 20 29 3b 0a 23 0a 23 0a 23 0a 23 20 77 72 69 74 65 20 cal_ttl}.==.1).);.#.#.#.#.write.
23e00 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 file!!.&flush_file_lines();.#.#.
23e20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 69 re-load.basic.page.&redirect(."i
23e40 6e 64 65 78 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a ndex.cgi".);..#..#.sub-routines.
23e60 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 64 6e 73 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a #.###.END.of.dns_apply.cgi.###..
23e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24000 64 6e 73 6d 61 73 71 2f 61 6c 69 61 73 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 dnsmasq/alias_edit_apply.cgi....
24020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
24080 30 30 30 34 30 37 33 00 31 30 35 31 32 36 34 31 37 37 37 00 30 31 35 32 33 32 00 20 30 00 00 00 0004073.10512641777.015232..0...
240a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
240c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
240e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
24120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
24140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
241a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
241c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
241e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24200 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
24220 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 61 6c 69 61 73 5f 65 64 69 74 5f 61 70 70 6c 79 2e ebmin.Module.-.alias_edit_apply.
24240 63 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 6f cgi;.do.the.update.......#....Co
24260 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a pyright.(C).2006.by.Neil.Fisher.
24280 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 #.....#....This.program.is.free.
242a0 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 software;.you.can.redistribute.i
242c0 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 t.and/or.modify.#....it.under.th
242e0 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 e.terms.of.the.GNU.General.Publi
24300 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 c.License.as.published.by.#....t
24320 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 he.Free.Software.Foundation;.eit
24340 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 her.version.2.of.the.License,.or
24360 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 .#....(at.your.option).any.later
24380 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 .version..#.#....This.program.is
243a0 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 .distributed.in.the.hope.that.it
243c0 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 .will.be.useful,.#....but.WITHOU
243e0 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 T.ANY.WARRANTY;.without.even.the
24400 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 .implied.warranty.of.#....MERCHA
24420 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 NTABILITY.or.FITNESS.FOR.A.PARTI
24440 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 CULAR.PURPOSE...See.the.#....GNU
24460 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 .General.Public.License.for.more
24480 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 .details..#.#....This.module.inh
244a0 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 erited.from.the.Webmin.Module.Te
244c0 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d mplate.0.79.1.by.tn..do.'../web-
244e0 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 lib.pl';.do.'../ui-lib.pl';.do.'
24500 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f dnsmasq-lib.pl';..$|=1;.&init_co
24520 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d nfig("DNSMasq");..%access=&get_m
24540 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 odule_acl;..##.put.in.ACL.checks
24560 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 .here.if.needed...##.sanity.chec
24580 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a ks...##.Insert.Output.code.here.
245a0 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 #.read.config.file.$config_file.
245c0 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 =.&read_file_lines(.$config{conf
245e0 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 ig_file}.);.#.pass.into.data.str
24600 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e ucture.&parse_config_file(.\%con
24620 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 fig,.\$config_file.);.#.read.pos
24640 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 ted.data.&ReadParse();.#.check.f
24660 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f or.errors.in.read.config.if(.$co
24680 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 nfig{errors}.>.0.).{..my.$line="
246a0 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 error.cgi?line=xx&type=".$text{e
246c0 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 rr_configbad};..&redirect(.$line
246e0 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 75 73 65 72 20 69 6e 70 75 74 20 .);..exit;.}.#.check.user.input.
24700 66 6f 72 20 6f 62 76 69 6f 75 73 20 65 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 66 72 6f 6d 7d for.obvious.errors.if(.$in{from}
24720 20 21 7e 20 2f 5e 24 49 50 41 44 44 52 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 .!~./^$IPADDR$/.).{..my.$line="e
24740 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 66 72 6f rror.cgi?line=".$text{forced_fro
24760 6d 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 m};..$line..=."&type=".$text{err
24780 5f 6e 6f 74 69 70 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 _notip};..&redirect(.$line.);..e
247a0 78 69 74 3b 0a 7d 0a 69 66 28 20 24 69 6e 7b 74 6f 7d 20 21 7e 20 2f 5e 24 49 50 41 44 44 52 24 xit;.}.if(.$in{to}.!~./^$IPADDR$
247c0 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d /.).{..my.$line="error.cgi?line=
247e0 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 69 70 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 ".$text{forced_ip};..$line..=."&
24800 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 6f 74 69 70 7d 3b 0a 09 26 72 65 64 69 72 type=".$text{err_notip};..&redir
24820 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 69 66 28 20 28 24 69 6e 7b ect(.$line.);..exit;.}.if(.($in{
24840 6d 61 73 6b 7d 29 20 26 26 20 28 24 69 6e 7b 6e 65 74 6d 61 73 6b 7d 20 21 7e 20 2f 5e 24 49 50 mask}).&&.($in{netmask}.!~./^$IP
24860 41 44 44 52 24 2f 29 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 ADDR$/).).{..my.$line="error.cgi
24880 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 6d 61 73 6b 7d 3b 0a 09 24 6c 69 ?line=".$text{forced_mask};..$li
248a0 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 6f 74 69 70 7d 3b ne..=."&type=".$text{err_notip};
248c0 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 ..&redirect(.$line.);..exit;.}.#
248e0 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f .adjust.everything.to.what.we.go
24900 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 61 6c 69 61 73 3d 22 2e 24 69 6e 7b 66 72 6f 6d 7d 2e t.#.my.$line="alias=".$in{from}.
24920 22 2c 22 2e 24 69 6e 7b 74 6f 7d 3b 0a 24 6c 69 6e 65 20 2e 3d 20 22 2c 22 2e 24 69 6e 7b 6e 65 ",".$in{to};.$line..=.",".$in{ne
24940 74 6d 61 73 6b 7d 20 69 66 20 24 69 6e 7b 6d 61 73 6b 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 tmask}.if.$in{mask};.&update(.$c
24960 6f 6e 66 69 67 7b 61 6c 69 61 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 24 6c onfig{alias}[$in{idx}]{line},.$l
24980 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 7d 20 ine,..$config_file,.(.$in{used}.
249a0 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 ==.1.).);.#.#.write.file!!.&flus
249c0 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 h_file_lines();.#.#.re-load.basi
249e0 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 61 6c 69 61 73 2e 63 67 69 22 20 29 3b c.page.&redirect(."alias.cgi".);
24a00 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 ..#..#.sub-routines.#.###.END.of
24a20 20 61 6c 69 61 73 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 .alias_edit_apply.cgi.###.......
24a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c00 64 6e 73 6d 61 73 71 2f 66 6f 72 63 65 64 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 dnsmasq/forced_edit_apply.cgi...
24c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
24c80 30 30 30 33 35 37 31 00 31 30 35 31 32 36 34 32 31 30 31 00 30 31 35 33 36 33 00 20 30 00 00 00 0003571.10512642101.015363..0...
24ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
24d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
24d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
24e00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
24e20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 66 6f 72 63 65 64 5f 65 64 69 74 5f 61 70 70 6c 79 ebmin.Module.-.forced_edit_apply
24e40 2e 63 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 .cgi;.do.the.update.......#....C
24e60 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 opyright.(C).2006.by.Neil.Fisher
24e80 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 .#.....#....This.program.is.free
24ea0 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 .software;.you.can.redistribute.
24ec0 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 it.and/or.modify.#....it.under.t
24ee0 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c he.terms.of.the.GNU.General.Publ
24f00 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 ic.License.as.published.by.#....
24f20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 the.Free.Software.Foundation;.ei
24f40 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f ther.version.2.of.the.License,.o
24f60 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 r.#....(at.your.option).any.late
24f80 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 r.version..#.#....This.program.i
24fa0 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 s.distributed.in.the.hope.that.i
24fc0 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f t.will.be.useful,.#....but.WITHO
24fe0 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 UT.ANY.WARRANTY;.without.even.th
25000 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 e.implied.warranty.of.#....MERCH
25020 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 ANTABILITY.or.FITNESS.FOR.A.PART
25040 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e ICULAR.PURPOSE...See.the.#....GN
25060 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
25080 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e e.details..#.#....This.module.in
250a0 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 herited.from.the.Webmin.Module.T
250c0 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 emplate.0.79.1.by.tn..do.'../web
250e0 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 -lib.pl';.do.'../ui-lib.pl';.do.
25100 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 'dnsmasq-lib.pl';..$|=1;.&init_c
25120 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f onfig("DNSMasq");..%access=&get_
25140 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b module_acl;..##.put.in.ACL.check
25160 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 s.here.if.needed...##.sanity.che
25180 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 cks...##.Insert.Output.code.here
251a0 0a 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 .#.read.config.file.$config_file
251c0 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e .=.&read_file_lines(.$config{con
251e0 66 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 fig_file}.);.#.pass.into.data.st
25200 72 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f ructure.&parse_config_file(.\%co
25220 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f nfig,.\$config_file.);.#.read.po
25240 73 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 sted.data.&ReadParse();.#.check.
25260 66 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 for.errors.in.read.config.if(.$c
25280 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d onfig{errors}.>.0.).{..my.$line=
252a0 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b "error.cgi?line=xx&type=".$text{
252c0 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e err_configbad};..&redirect(.$lin
252e0 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 70 75 74 20 e.);..exit;.}.#.check.for.input.
25300 64 61 74 61 20 65 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 64 6f 6d 61 69 6e 7d 20 21 7e 20 2f data.errors.if(.$in{domain}.!~./
25320 5e 24 4e 41 4d 45 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 ^$NAME$/.).{..my.$line="error.cg
25340 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 64 6f 6d 61 69 6e 7d 3b 0a 09 i?line=".$text{forced_domain};..
25360 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 64 6f 6d 61 $line..=."&type=".$text{err_doma
25380 69 6e 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 inbad};..&redirect(.$line.);..ex
253a0 69 74 3b 0a 7d 0a 69 66 28 20 24 69 6e 7b 74 6f 7d 20 21 7e 20 2f 5e 24 49 50 41 44 44 52 24 2f it;.}.if(.$in{to}.!~./^$IPADDR$/
253c0 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 .).{..my.$line="error.cgi?line="
253e0 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 64 6f 6d 61 69 6e 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d .$text{forced_domain};..$line..=
25400 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 64 6f 6d 61 69 6e 62 61 64 7d 3b 0a ."&type=".$text{err_domainbad};.
25420 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 .&redirect(.$line.);..exit;.}.#.
25440 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 adjust.everything.to.what.we.got
25460 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 61 64 64 72 65 73 73 3d 2f 22 2e 24 69 6e 7b 64 6f 6d 61 .#.my.$line="address=/".$in{doma
25480 69 6e 7d 2e 22 2f 22 2e 24 69 6e 7b 74 6f 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 in}."/".$in{to};.&update(.$confi
254a0 67 7b 66 6f 72 63 65 64 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 24 6c 69 6e 65 g{forced}[$in{idx}]{line},.$line
254c0 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 7d 20 3d 3d 20 ,..$config_file,.(.$in{used}.==.
254e0 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 1.).);.#.#.write.file!!.&flush_f
25500 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 ile_lines();.#.#.re-load.basic.p
25520 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 61 6c 69 61 73 2e 63 67 69 22 20 29 3b 0a 0a 23 age.&redirect(."alias.cgi".);..#
25540 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 66 6f ..#.sub-routines.#.###.END.of.fo
25560 72 63 65 64 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 rced_edit_apply.cgi.###.........
25580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
255a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
255c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
255e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25600 64 6e 73 6d 61 73 71 2f 6e 78 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 00 00 00 dnsmasq/nx_edit_apply.cgi.......
25620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
25680 30 30 30 33 33 31 31 00 31 30 35 31 32 36 34 32 31 37 30 00 30 31 34 35 34 34 00 20 30 00 00 00 0003311.10512642170.014544..0...
256a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
256e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
25720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
25740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
257e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25800 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
25820 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 6e 78 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 ebmin.Module.-.nx_edit_apply.cgi
25840 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 6f 70 79 72 ;.do.the.update.......#....Copyr
25860 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 ight.(C).2006.by.Neil.Fisher.#..
25880 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 ...#....This.program.is.free.sof
258a0 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 tware;.you.can.redistribute.it.a
258c0 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 nd/or.modify.#....it.under.the.t
258e0 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c erms.of.the.GNU.General.Public.L
25900 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 icense.as.published.by.#....the.
25920 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 Free.Software.Foundation;.either
25940 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 .version.2.of.the.License,.or.#.
25960 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 ...(at.your.option).any.later.ve
25980 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 rsion..#.#....This.program.is.di
259a0 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 stributed.in.the.hope.that.it.wi
259c0 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 ll.be.useful,.#....but.WITHOUT.A
259e0 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d NY.WARRANTY;.without.even.the.im
25a00 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 plied.warranty.of.#....MERCHANTA
25a20 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c BILITY.or.FITNESS.FOR.A.PARTICUL
25a40 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 AR.PURPOSE...See.the.#....GNU.Ge
25a60 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 neral.Public.License.for.more.de
25a80 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 tails..#.#....This.module.inheri
25aa0 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c ted.from.the.Webmin.Module.Templ
25ac0 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 ate.0.79.1.by.tn..do.'../web-lib
25ae0 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 .pl';.do.'../ui-lib.pl';.do.'dns
25b00 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 masq-lib.pl';..$|=1;.&init_confi
25b20 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 g("DNSMasq");..%access=&get_modu
25b40 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 le_acl;..##.put.in.ACL.checks.he
25b60 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a re.if.needed...##.sanity.checks.
25b80 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 ..##.Insert.Output.code.here.#.r
25ba0 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 ead.config.file.$config_file.=.&
25bc0 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f read_file_lines(.$config{config_
25be0 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 file}.);.#.pass.into.data.struct
25c00 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 ure.&parse_config_file(.\%config
25c20 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 ,.\$config_file.);.#.read.posted
25c40 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 .data.&ReadParse();.#.check.for.
25c60 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 errors.in.read.config.if(.$confi
25c80 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 20 22 65 72 g{errors}.>.0.).{..my.$line=."er
25ca0 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 6c 69 73 74 ror.cgi?line=x&type=".$text{list
25cc0 65 6e 5f 61 64 64 72 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 en_addr};..&redirect(.$line.);..
25ce0 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 70 75 74 20 64 61 74 61 20 65 exit;.}.#.check.for.input.data.e
25d00 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 66 72 6f 6d 7d 20 21 7e 20 2f 5e 24 49 50 41 44 44 52 rrors.if(.$in{from}.!~./^$IPADDR
25d20 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e $/.).{..my.$line=."error.cgi?lin
25d40 65 3d 22 2e 24 74 65 78 74 7b 66 6f 72 63 65 64 5f 66 72 6f 6d 7d 3b 0a 09 24 6c 69 6e 65 20 2e e=".$text{forced_from};..$line..
25d60 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 6f 74 69 70 7d 3b 0a 09 26 72 =."&type=".$text{err_notip};..&r
25d80 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a edirect(.$line.);..exit;.}.#.adj
25da0 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a ust.everything.to.what.we.got.#.
25dc0 6d 79 20 24 6c 69 6e 65 3d 22 62 6f 67 75 73 2d 6e 78 64 6f 6d 61 69 6e 3d 22 2e 24 69 6e 7b 66 my.$line="bogus-nxdomain=".$in{f
25de0 72 6f 6d 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 62 6f 67 75 73 7d 5b 24 69 rom};.&update(.$config{bogus}[$i
25e00 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 24 6c 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 n{idx}]{line},.$line,..$config_f
25e20 69 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 ile,.(.$in{used}.==.1.).);.#.#.w
25e40 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b rite.file!!.&flush_file_lines();
25e60 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 .#.#.re-load.basic.page.&redirec
25e80 74 28 20 22 61 6c 69 61 73 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 t(."alias.cgi".);..#..#.sub-rout
25ea0 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 6e 78 5f 65 64 69 74 5f 61 70 70 6c 79 2e ines.#.###.END.of.nx_edit_apply.
25ec0 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cgi.###.........................
25ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
25fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26000 64 6e 73 6d 61 73 71 2f 75 73 65 72 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/user_edit.cgi...........
26020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
26080 30 30 30 34 31 37 31 00 31 30 35 31 32 33 34 33 34 35 32 00 30 31 33 36 37 36 00 20 30 00 00 00 0004171.10512343452.013676..0...
260a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
260c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
260e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
26120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
261e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26200 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
26220 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 76 65 6e 64 5f 65 64 69 74 2e 63 67 69 3b 20 20 65 ebmin.Module.-.vend_edit.cgi;..e
26240 64 69 74 20 75 73 65 72 20 63 6c 61 73 73 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 dit.user.class.#....Copyright.(C
26260 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 ).2006.by.Neil.Fisher.#.....#...
26280 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 .This.program.is.free.software;.
262a0 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d you.can.redistribute.it.and/or.m
262c0 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 odify.#....it.under.the.terms.of
262e0 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .the.GNU.General.Public.License.
26300 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f as.published.by.#....the.Free.So
26320 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f ftware.Foundation;.either.versio
26340 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 n.2.of.the.License,.or.#....(at.
26360 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a your.option).any.later.version..
26380 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 #.#....This.program.is.distribut
263a0 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 ed.in.the.hope.that.it.will.be.u
263c0 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 seful,.#....but.WITHOUT.ANY.WARR
263e0 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 ANTY;.without.even.the.implied.w
26400 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 arranty.of.#....MERCHANTABILITY.
26420 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 or.FITNESS.FOR.A.PARTICULAR.PURP
26440 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 OSE...See.the.#....GNU.General.P
26460 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a ublic.License.for.more.details..
26480 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f #.#....This.module.inherited.fro
264a0 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 m.the.Webmin.Module.Template.0.7
264c0 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 9.1.by.tn..do.'../web-lib.pl';.d
264e0 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 o.'../ui-lib.pl';.do.'dnsmasq-li
26500 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d b.pl';..$|=1;.&init_config("DNSM
26520 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b asq");..%access=&get_module_acl;
26540 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e ..##.put.in.ACL.checks.here.if.n
26560 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 20 49 6e eeded...##.sanity.checks...##.In
26580 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 6f 6e sert.Output.code.here.#.read.con
265a0 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f 66 69 fig.file.$config_file.=.&read_fi
265c0 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d 20 29 le_lines(.$config{config_file}.)
265e0 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 26 70 61 ;.#.pass.into.data.structure.&pa
26600 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 6f 6e rse_config_file(.\%config,.\$con
26620 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 61 0a 26 fig_file.);.#.read.posted.data.&
26640 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 73 20 ReadParse();.#.check.for.errors.
26660 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 in.read.config.if(.$config{error
26680 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 73 65 s}.>.0.).{..&header(."DNSMasq.se
266a0 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 72 3e 3c 68 32 3e 22 ttings",."".);..print."<hr><h2>"
266c0 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 73 7d 3b 0a 09 70 72 ;..print.$text{warn_errors};..pr
266e0 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 int.$config{errors};..print.$tex
26700 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c 2f 68 33 3e 3c 68 72 t{didnt_apply};..print."</h3><hr
26720 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 >\n";..&footer(."/",.$text{'inde
26740 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 x'});..exit;.}.#.adjust.everythi
26760 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 64 65 72 28 20 22 44 4e ng.to.what.we.got.#.&header(."DN
26780 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 20 22 3c 68 SMasq.settings",."".);.print."<h
267a0 32 3e 22 2e 24 74 65 78 74 7b 75 73 65 72 5f 63 6c 61 73 73 65 73 7d 2e 22 3c 2f 68 32 3e 22 3b 2>".$text{user_classes}."</h2>";
267c0 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 75 73 65 72 5f 65 64 69 .print.&ui_form_start(."user_edi
267e0 74 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 6e 74 20 26 75 t_apply.cgi",."post".);.print.&u
26800 69 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 78 7d 20 29 3b 0a 70 72 69 i_hidden(."idx",.$in{idx}.);.pri
26820 6e 74 20 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f 79 65 73 6e 6f 5f 72 61 64 69 6f nt.$text{in_use}.&ui_yesno_radio
26840 28 20 22 75 73 65 64 22 2c 0a 09 09 09 28 24 63 6f 6e 66 69 67 7b 75 73 65 72 5f 63 6c 61 73 73 (."used",....($config{user_class
26860 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a 70 72 69 6e 74 20 }[$in{idx}]{used})?1:0.);.print.
26880 24 74 65 78 74 7b 63 6c 61 73 73 7d 2e 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 63 6c 61 73 $text{class}..&ui_textbox(."clas
268a0 73 22 2c 20 0a 09 09 09 24 63 6f 6e 66 69 67 7b 75 73 65 72 5f 63 6c 61 73 73 7d 5b 24 69 6e 7b s",.....$config{user_class}[$in{
268c0 69 64 78 7d 5d 7b 63 6c 61 73 73 7d 2c 20 36 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 22 idx}]{class},.60.);.print."<br>"
268e0 2e 24 74 65 78 74 7b 75 73 65 72 7d 2e 20 26 75 69 5f 74 65 78 74 62 6f 78 28 20 22 75 73 65 72 .$text{user}..&ui_textbox(."user
26900 22 2c 20 0a 09 09 09 24 63 6f 6e 66 69 67 7b 75 73 65 72 5f 63 6c 61 73 73 7d 5b 24 69 6e 7b 69 ",.....$config{user_class}[$in{i
26920 64 78 7d 5d 7b 75 73 65 72 7d 2c 20 36 30 20 29 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 dx}]{user},.60.);.print."<br><br
26940 3e 22 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 >"...&ui_submit(.$text{'save_but
26960 74 6f 6e 27 7d 20 29 2e 22 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 ton'}.)."<br>";.print.&ui_form_e
26980 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 61 20 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f nd();.print."<a.href=delete.cgi?
269a0 69 64 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 26 77 68 61 74 3d 75 73 65 72 5f 63 6c 61 73 73 idx=".$in{idx}."&what=user_class
269c0 26 77 68 65 72 65 3d 64 68 63 70 2e 63 67 69 22 2e 0a 09 22 3e 22 2e 24 74 65 78 74 7b 64 65 6c &where=dhcp.cgi"...">".$text{del
269e0 65 74 7d 2e 22 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 64 et}."</a>";.print."<br><a.href=d
26a00 68 63 70 2e 63 67 69 3e 22 2e 24 74 65 78 74 7b 44 48 43 50 5f 63 6f 6e 66 69 67 7d 2e 22 3c 2f hcp.cgi>".$text{DHCP_config}."</
26a20 61 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 a>";.&footer(."/",.$text{'index'
26a40 7d 29 3b 0a 23 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 });.#..#..#.sub-routines.#.###.E
26a60 4e 44 20 6f 66 20 75 73 65 72 5f 65 64 69 74 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 ND.of.user_edit.cgi.###.........
26a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c00 64 6e 73 6d 61 73 71 2f 76 65 6e 64 5f 65 64 69 74 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/vend_edit.cgi...........
26c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26c60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
26c80 30 30 30 34 32 31 30 00 31 30 35 31 32 33 34 33 35 36 37 00 30 31 33 36 35 35 00 20 30 00 00 00 0004210.10512343567.013655..0...
26ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
26d20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
26d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26e00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
26e20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 76 65 6e 64 5f 65 64 69 74 2e 63 67 69 3b 20 20 65 ebmin.Module.-.vend_edit.cgi;..e
26e40 64 69 74 20 76 65 6e 64 6f 72 20 63 6c 61 73 73 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 dit.vendor.class.#....Copyright.
26e60 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 (C).2006.by.Neil.Fisher.#.....#.
26e80 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 ...This.program.is.free.software
26ea0 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 ;.you.can.redistribute.it.and/or
26ec0 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 .modify.#....it.under.the.terms.
26ee0 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 of.the.GNU.General.Public.Licens
26f00 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 e.as.published.by.#....the.Free.
26f20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 Software.Foundation;.either.vers
26f40 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 ion.2.of.the.License,.or.#....(a
26f60 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e t.your.option).any.later.version
26f80 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 ..#.#....This.program.is.distrib
26fa0 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 uted.in.the.hope.that.it.will.be
26fc0 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 .useful,.#....but.WITHOUT.ANY.WA
26fe0 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 RRANTY;.without.even.the.implied
27000 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 .warranty.of.#....MERCHANTABILIT
27020 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 Y.or.FITNESS.FOR.A.PARTICULAR.PU
27040 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c RPOSE...See.the.#....GNU.General
27060 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 .Public.License.for.more.details
27080 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 ..#.#....This.module.inherited.f
270a0 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 rom.the.Webmin.Module.Template.0
270c0 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b .79.1.by.tn..do.'../web-lib.pl';
270e0 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d .do.'../ui-lib.pl';.do.'dnsmasq-
27100 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e lib.pl';..$|=1;.&init_config("DN
27120 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 SMasq");..%access=&get_module_ac
27140 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 l;..##.put.in.ACL.checks.here.if
27160 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 0a 23 23 20 .needed...##.sanity.checks...##.
27180 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 20 72 65 61 64 20 63 Insert.Output.code.here.#.read.c
271a0 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d 20 26 72 65 61 64 5f onfig.file.$config_file.=.&read_
271c0 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 67 5f 66 69 6c 65 7d file_lines(.$config{config_file}
271e0 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 0a 26 .);.#.pass.into.data.structure.&
27200 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 69 67 2c 20 5c 24 63 parse_config_file(.\%config,.\$c
27220 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 65 64 20 64 61 74 61 onfig_file.);.#.read.posted.data
27240 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 65 72 72 6f 72 .&ReadParse();.#.check.for.error
27260 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e 66 69 67 7b 65 72 72 s.in.read.config.if(.$config{err
27280 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 26 68 65 61 64 65 72 28 20 22 44 4e 53 4d 61 73 71 20 ors}.>.0.).{..&header(."DNSMasq.
272a0 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 09 70 72 69 6e 74 20 22 3c 68 72 3e 3c 68 32 settings",."".);..print."<hr><h2
272c0 3e 22 3b 0a 09 70 72 69 6e 74 20 24 74 65 78 74 7b 77 61 72 6e 5f 65 72 72 6f 72 73 7d 3b 0a 09 >";..print.$text{warn_errors};..
272e0 70 72 69 6e 74 20 24 63 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 3b 0a 09 70 72 69 6e 74 20 24 74 print.$config{errors};..print.$t
27300 65 78 74 7b 64 69 64 6e 74 5f 61 70 70 6c 79 7d 3b 0a 09 70 72 69 6e 74 20 22 3c 2f 68 33 3e 3c ext{didnt_apply};..print."</h3><
27320 68 72 3e 5c 6e 22 3b 0a 09 26 66 6f 6f 74 65 72 28 20 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e hr>\n";..&footer(."/",.$text{'in
27340 64 65 78 27 7d 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 dex'});..exit;.}.#.adjust.everyt
27360 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 26 68 65 61 64 65 72 28 20 22 hing.to.what.we.got.#.&header(."
27380 44 4e 53 4d 61 73 71 20 73 65 74 74 69 6e 67 73 22 2c 20 22 22 20 29 3b 0a 70 72 69 6e 74 20 22 DNSMasq.settings",."".);.print."
273a0 3c 68 32 3e 22 2e 24 74 65 78 74 7b 76 65 6e 64 6f 72 5f 63 6c 61 73 73 65 73 7d 2e 22 3c 2f 68 <h2>".$text{vendor_classes}."</h
273c0 32 3e 22 3b 0a 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 73 74 61 72 74 28 20 22 76 65 6e 64 2>";.print.&ui_form_start(."vend
273e0 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 22 2c 20 22 70 6f 73 74 22 20 29 3b 0a 70 72 69 6e _edit_apply.cgi",."post".);.prin
27400 74 20 26 75 69 5f 68 69 64 64 65 6e 28 20 22 69 64 78 22 2c 20 24 69 6e 7b 69 64 78 7d 20 29 3b t.&ui_hidden(."idx",.$in{idx}.);
27420 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 69 6e 5f 75 73 65 7d 2e 26 75 69 5f 79 65 73 6e 6f 5f 72 .print.$text{in_use}.&ui_yesno_r
27440 61 64 69 6f 28 20 22 75 73 65 64 22 2c 0a 09 09 09 28 24 63 6f 6e 66 69 67 7b 76 65 6e 64 6f 72 adio(."used",....($config{vendor
27460 5f 63 6c 61 73 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 75 73 65 64 7d 29 3f 31 3a 30 20 29 3b 0a _class}[$in{idx}]{used})?1:0.);.
27480 70 72 69 6e 74 20 24 74 65 78 74 7b 63 6c 61 73 73 7d 2e 20 26 75 69 5f 74 65 78 74 62 6f 78 28 print.$text{class}..&ui_textbox(
274a0 20 22 63 6c 61 73 73 22 2c 20 0a 09 09 09 24 63 6f 6e 66 69 67 7b 76 65 6e 64 6f 72 5f 63 6c 61 ."class",.....$config{vendor_cla
274c0 73 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 63 6c 61 73 73 7d 2c 20 36 30 20 29 3b 0a 70 72 69 6e ss}[$in{idx}]{class},.60.);.prin
274e0 74 20 22 3c 62 72 3e 22 2e 24 74 65 78 74 7b 76 65 6e 64 6f 72 7d 2e 20 26 75 69 5f 74 65 78 74 t."<br>".$text{vendor}..&ui_text
27500 62 6f 78 28 20 22 76 65 6e 64 6f 72 22 2c 20 0a 09 09 09 24 63 6f 6e 66 69 67 7b 76 65 6e 64 6f box(."vendor",.....$config{vendo
27520 72 5f 63 6c 61 73 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 76 65 6e 64 6f 72 7d 2c 20 36 30 20 29 r_class}[$in{idx}]{vendor},.60.)
27540 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 20 2e 20 26 75 69 5f 73 75 62 6d 69 74 28 ;.print."<br><br>"...&ui_submit(
27560 20 24 74 65 78 74 7b 27 73 61 76 65 5f 62 75 74 74 6f 6e 27 7d 20 29 2e 22 3c 62 72 3e 22 3b 0a .$text{'save_button'}.)."<br>";.
27580 70 72 69 6e 74 20 26 75 69 5f 66 6f 72 6d 5f 65 6e 64 28 29 3b 0a 70 72 69 6e 74 20 22 3c 61 20 print.&ui_form_end();.print."<a.
275a0 68 72 65 66 3d 64 65 6c 65 74 65 2e 63 67 69 3f 69 64 78 3d 22 2e 24 69 6e 7b 69 64 78 7d 2e 22 href=delete.cgi?idx=".$in{idx}."
275c0 26 77 68 61 74 3d 76 65 6e 64 6f 72 5f 63 6c 61 73 73 26 77 68 65 72 65 3d 64 68 63 70 2e 63 67 &what=vendor_class&where=dhcp.cg
275e0 69 3e 22 2e 0a 09 24 74 65 78 74 7b 64 65 6c 65 74 7d 2e 22 3c 2f 61 3e 22 3b 0a 70 72 69 6e 74 i>"...$text{delet}."</a>";.print
27600 20 22 3c 62 72 3e 3c 61 20 68 72 65 66 3d 64 68 63 70 2e 63 67 69 3e 22 2e 24 74 65 78 74 7b 44 ."<br><a.href=dhcp.cgi>".$text{D
27620 48 43 50 5f 63 6f 6e 66 69 67 7d 2e 22 3c 2f 61 3e 22 3b 0a 26 66 6f 6f 74 65 72 28 20 22 2f 22 HCP_config}."</a>";.&footer(."/"
27640 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 0a 0a 23 20 0a 23 20 73 75 62 2d 72 ,.$text{'index'});.#..#..#.sub-r
27660 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 76 65 6e 64 5f 65 64 69 74 2e 63 outines.#.###.END.of.vend_edit.c
27680 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 gi.###..........................
276a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
276c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
276e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
277e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27800 64 6e 73 6d 61 73 71 2f 64 68 63 70 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 dnsmasq/dhcp_apply.cgi..........
27820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27860 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
27880 30 30 30 35 33 36 32 00 31 30 35 31 32 36 34 32 30 36 34 00 30 31 34 30 34 32 00 20 30 00 00 00 0005362.10512642064.014042..0...
278a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
278c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
278e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27900 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
27920 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
27940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
279a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
279c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
279e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27a00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
27a20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 64 68 63 70 5f 61 70 70 6c 79 2e 63 67 69 3b 20 75 ebmin.Module.-.dhcp_apply.cgi;.u
27a40 70 64 61 74 65 20 6d 69 73 63 20 44 48 43 50 20 69 6e 66 6f 20 20 20 20 20 0a 23 20 20 20 20 43 pdate.misc.DHCP.info......#....C
27a60 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 opyright.(C).2006.by.Neil.Fisher
27a80 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 .#.....#....This.program.is.free
27aa0 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 .software;.you.can.redistribute.
27ac0 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 it.and/or.modify.#....it.under.t
27ae0 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c he.terms.of.the.GNU.General.Publ
27b00 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 ic.License.as.published.by.#....
27b20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 the.Free.Software.Foundation;.ei
27b40 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f ther.version.2.of.the.License,.o
27b60 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 r.#....(at.your.option).any.late
27b80 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 r.version..#.#....This.program.i
27ba0 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 s.distributed.in.the.hope.that.i
27bc0 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f t.will.be.useful,.#....but.WITHO
27be0 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 UT.ANY.WARRANTY;.without.even.th
27c00 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 e.implied.warranty.of.#....MERCH
27c20 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 ANTABILITY.or.FITNESS.FOR.A.PART
27c40 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e ICULAR.PURPOSE...See.the.#....GN
27c60 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
27c80 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e e.details..#.#....This.module.in
27ca0 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 herited.from.the.Webmin.Module.T
27cc0 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 emplate.0.79.1.by.tn..do.'../web
27ce0 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 -lib.pl';.do.'../ui-lib.pl';.do.
27d00 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 'dnsmasq-lib.pl';..$|=1;.&init_c
27d20 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f onfig("DNSMasq");..%access=&get_
27d40 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b module_acl;..##.put.in.ACL.check
27d60 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 s.here.if.needed...##.sanity.che
27d80 63 6b 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 cks...##.Insert.Output.code.here
27da0 0a 23 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 .#.read.config.file.$config_file
27dc0 20 3d 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e .=.&read_file_lines(.$config{con
27de0 66 69 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 fig_file}.);.#.pass.into.data.st
27e00 72 75 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f ructure.&parse_config_file(.\%co
27e20 6e 66 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f nfig,.\$config_file.);.#.read.po
27e40 73 74 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 sted.data.&ReadParse();.#.check.
27e60 66 6f 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 for.errors.in.read.config.if(.$c
27e80 6f 6e 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d onfig{errors}.>.0.).{..my.$line=
27ea0 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b "error.cgi?line=xx&type=".$text{
27ec0 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e err_configbad};..&redirect(.$lin
27ee0 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 70 75 74 20 e.);..exit;.}.#.check.for.input.
27f00 64 61 74 61 20 65 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 62 6f 6f 74 70 5f 61 64 64 72 7d 20 data.errors.if(.$in{bootp_addr}.
27f20 21 7e 20 2f 5e 24 49 50 41 44 44 52 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 !~./^$IPADDR$/.).{..my.$line="er
27f40 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 62 6f 6f 74 70 5f 61 64 64 72 65 ror.cgi?line=".$text{bootp_addre
27f60 73 73 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 ss};..$line..=."&type=".$text{er
27f80 72 5f 6e 6f 74 69 70 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 r_notip};..&redirect(.$line.);..
27fa0 65 78 69 74 3b 0a 7d 09 0a 69 66 28 20 24 69 6e 7b 62 6f 6f 74 70 5f 66 69 6c 65 7d 20 21 7e 20 exit;.}..if(.$in{bootp_file}.!~.
27fc0 2f 5e 24 46 49 4c 45 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 /^$FILE$/.).{..my.$line="error.c
27fe0 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 62 6f 6f 74 70 5f 66 69 6c 65 7d 3b 0a 09 24 6c gi?line=".$text{bootp_file};..$l
28000 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 66 69 6c 65 62 61 ine..=."&type=".$text{err_fileba
28020 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a d};..&redirect(.$line.);..exit;.
28040 7d 09 0a 69 66 28 20 24 69 6e 7b 62 6f 6f 74 70 5f 68 6f 73 74 7d 20 21 7e 20 2f 5e 24 4e 41 4d }..if(.$in{bootp_host}.!~./^$NAM
28060 45 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e E$/.).{..my.$line="error.cgi?lin
28080 65 3d 22 2e 24 74 65 78 74 7b 62 6f 6f 74 70 5f 68 6f 73 74 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d e=".$text{bootp_host};..$line..=
280a0 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 68 6f 73 74 62 61 64 7d 3b 0a 09 26 ."&type=".$text{err_hostbad};..&
280c0 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 09 0a 69 66 28 redirect(.$line.);..exit;.}..if(
280e0 20 24 69 6e 7b 6d 61 78 5f 6c 65 61 73 65 73 7d 20 21 7e 20 2f 5e 24 4e 55 4d 42 45 52 24 2f 20 .$in{max_leases}.!~./^$NUMBER$/.
28100 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e ).{..my.$line="error.cgi?line=".
28120 24 74 65 78 74 7b 6d 61 78 5f 6c 65 61 73 65 73 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 $text{max_leases};..$line..=."&t
28140 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 75 6d 62 62 61 64 7d 3b 0a 09 26 72 65 64 69 ype=".$text{err_numbbad};..&redi
28160 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 09 0a 69 66 28 20 24 69 6e rect(.$line.);..exit;.}..if(.$in
28180 7b 6c 65 61 73 65 66 69 6c 65 7d 20 21 7e 20 2f 5e 24 46 49 4c 45 24 2f 20 29 0a 7b 0a 09 6d 79 {leasefile}.!~./^$FILE$/.).{..my
281a0 20 24 6c 69 6e 65 3d 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 6c .$line="error.cgi?line=".$text{l
281c0 65 61 73 65 66 69 6c 65 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 easefile};..$line..=."&type=".$t
281e0 65 78 74 7b 65 72 72 5f 66 69 6c 65 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c ext{err_filebad};..&redirect(.$l
28200 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 09 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 ine.);..exit;.}..#.adjust.everyt
28220 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 0a 23 0a 23 20 72 65 61 64 20 2f 65 hing.to.what.we.got..#.#.read./e
28240 74 63 2f 65 74 68 65 72 73 0a 23 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 64 68 63 tc/ethers.#.&update(.$config{dhc
28260 70 5f 65 74 68 65 72 73 7d 7b 6c 69 6e 65 7d 2c 20 22 72 65 61 64 2d 65 74 68 65 72 73 22 2c 20 p_ethers}{line},."read-ethers",.
28280 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 24 69 6e 7b 65 74 68 65 72 73 7d 20 3d 3d 20 ..$config_file,.($in{ethers}.==.
282a0 31 29 20 29 3b 0a 0a 23 0a 23 20 62 6f 6f 74 70 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 64 68 63 1).);..#.#.bootp.#.my.$line="dhc
282c0 70 2d 62 6f 6f 74 3d 22 2e 24 69 6e 7b 62 6f 6f 74 70 5f 66 69 6c 65 7d 2e 22 2c 22 2e 24 69 6e p-boot=".$in{bootp_file}.",".$in
282e0 7b 62 6f 6f 74 70 5f 68 6f 73 74 7d 3b 0a 24 6c 69 6e 65 20 2e 3d 20 22 2c 22 2e 24 69 6e 7b 62 {bootp_host};.$line..=.",".$in{b
28300 6f 6f 74 70 5f 61 64 64 72 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 64 68 63 ootp_addr};.&update(.$config{dhc
28320 70 5f 62 6f 6f 74 7d 7b 6c 69 6e 65 7d 2c 20 24 6c 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 p_boot}{line},.$line,..$config_f
28340 69 6c 65 2c 20 28 24 69 6e 7b 62 6f 6f 74 70 7d 20 3d 3d 20 31 29 20 29 3b 0a 23 0a 23 20 6d 61 ile,.($in{bootp}.==.1).);.#.#.ma
28360 78 20 6c 65 61 73 65 73 0a 23 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 64 68 63 70 x.leases.#.&update(.$config{dhcp
28380 5f 6c 65 61 73 65 6d 61 78 7d 7b 6c 69 6e 65 7d 2c 20 22 64 68 63 70 2d 6c 65 61 73 65 2d 6d 61 _leasemax}{line},."dhcp-lease-ma
283a0 78 3d 22 2e 24 69 6e 7b 6d 61 78 5f 6c 65 61 73 65 73 7d 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 x=".$in{max_leases},..$config_fi
283c0 6c 65 2c 20 28 24 69 6e 7b 6d 61 78 5f 6c 65 61 73 65 73 7d 20 21 3d 20 31 35 30 29 20 29 3b 0a le,.($in{max_leases}.!=.150).);.
283e0 23 0a 23 20 6c 65 61 73 65 73 20 66 69 6c 65 0a 23 20 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e #.#.leases.file.#..&update(.$con
28400 66 69 67 7b 64 68 63 70 5f 6c 65 61 73 65 66 69 6c 65 7d 7b 6c 69 6e 65 7d 2c 20 22 64 68 63 70 fig{dhcp_leasefile}{line},."dhcp
28420 2d 6c 65 61 73 65 66 69 6c 65 3d 22 2e 24 69 6e 7b 6c 65 61 73 65 66 69 6c 65 7d 2c 0a 09 24 63 -leasefile=".$in{leasefile},..$c
28440 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 24 69 6e 7b 75 73 65 6c 65 61 73 65 66 69 6c 65 7d 20 3d onfig_file,.($in{useleasefile}.=
28460 3d 20 31 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f =.1).);.#.#.write.file!!.&flush_
28480 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 file_lines();.#.#.re-load.basic.
284a0 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 64 68 63 70 2e 63 67 69 22 20 29 3b 0a 0a 23 page.&redirect(."dhcp.cgi".);..#
284c0 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 64 68 ..#.sub-routines.#.###.END.of.dh
284e0 63 70 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 cp_apply.cgi.###................
28500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
285a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
285c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
285e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28600 64 6e 73 6d 61 73 71 2f 75 73 65 72 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 00 dnsmasq/user_edit_apply.cgi.....
28620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28660 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
28680 30 30 30 33 35 35 37 00 31 30 35 31 32 36 34 32 32 33 34 00 30 31 35 31 31 32 00 20 30 00 00 00 0003557.10512642234.015112..0...
286a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28700 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
28720 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
28740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28800 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
28820 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 75 73 65 72 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 ebmin.Module.-.user_edit_apply.c
28840 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 6f 70 gi;.do.the.update.......#....Cop
28860 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 yright.(C).2006.by.Neil.Fisher.#
28880 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 .....#....This.program.is.free.s
288a0 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 oftware;.you.can.redistribute.it
288c0 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 .and/or.modify.#....it.under.the
288e0 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 .terms.of.the.GNU.General.Public
28900 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 .License.as.published.by.#....th
28920 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 e.Free.Software.Foundation;.eith
28940 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a er.version.2.of.the.License,.or.
28960 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 #....(at.your.option).any.later.
28980 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 version..#.#....This.program.is.
289a0 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 distributed.in.the.hope.that.it.
289c0 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 will.be.useful,.#....but.WITHOUT
289e0 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 .ANY.WARRANTY;.without.even.the.
28a00 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e implied.warranty.of.#....MERCHAN
28a20 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 TABILITY.or.FITNESS.FOR.A.PARTIC
28a40 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 ULAR.PURPOSE...See.the.#....GNU.
28a60 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 General.Public.License.for.more.
28a80 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 details..#.#....This.module.inhe
28aa0 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d rited.from.the.Webmin.Module.Tem
28ac0 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c plate.0.79.1.by.tn..do.'../web-l
28ae0 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 ib.pl';.do.'../ui-lib.pl';.do.'d
28b00 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e nsmasq-lib.pl';..$|=1;.&init_con
28b20 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f fig("DNSMasq");..%access=&get_mo
28b40 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 dule_acl;..##.put.in.ACL.checks.
28b60 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b here.if.needed...##.sanity.check
28b80 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 s...##.Insert.Output.code.here.#
28ba0 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d .read.config.file.$config_file.=
28bc0 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 .&read_file_lines(.$config{confi
28be0 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 g_file}.);.#.pass.into.data.stru
28c00 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 cture.&parse_config_file(.\%conf
28c20 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 ig,.\$config_file.);.#.read.post
28c40 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f ed.data.&ReadParse();.#.check.fo
28c60 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e r.errors.in.read.config.if(.$con
28c80 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 fig{errors}.>.0.).{..my.$line.=.
28ca0 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b "error.cgi?line=xx&type=".$text{
28cc0 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e err_configbad};..&redirect(.$lin
28ce0 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 70 75 74 20 e.);..exit;.}.#.check.for.input.
28d00 64 61 74 61 20 65 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 63 6c 61 73 73 7d 20 21 7e 20 2f 5e data.errors.if(.$in{class}.!~./^
28d20 24 4e 41 4d 45 24 2f 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e 63 $NAME$/.).{..my.$line.=."error.c
28d40 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 63 6c 61 73 73 7d 3b 0a 09 24 6c 69 6e 65 20 2e gi?line=".$text{class};..$line..
28d60 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 61 6d 65 62 61 64 7d 3b 0a 09 =."&type=".$text{err_namebad};..
28d80 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 69 66 28 &redirect(.$line.);..exit;.}.if(
28da0 20 24 69 6e 7b 75 73 65 72 7d 20 21 7e 20 2f 5e 24 4e 41 4d 45 24 2f 20 29 0a 7b 0a 09 6d 79 20 .$in{user}.!~./^$NAME$/.).{..my.
28dc0 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b $line.=."error.cgi?line=".$text{
28de0 75 73 65 72 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b user};..$line..=."&type=".$text{
28e00 65 72 72 5f 6e 61 6d 65 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 err_namebad};..&redirect(.$line.
28e20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 74 68 69 6e 67 20 );..exit;.}.#.adjust.everything.
28e40 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d 22 64 68 63 70 2d to.what.we.got.#.my.$line="dhcp-
28e60 75 73 65 72 63 6c 61 73 73 3d 22 2e 24 69 6e 7b 63 6c 61 73 73 7d 2e 22 2c 22 2e 24 69 6e 7b 75 userclass=".$in{class}.",".$in{u
28e80 73 65 72 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 7b 75 73 65 72 5f 63 6c 61 73 ser};.&update(.$config{user_clas
28ea0 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 24 6c 69 6e 65 2c 0a 09 24 63 6f 6e s}[$in{idx}]{line},.$line,..$con
28ec0 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 7d 20 3d 3d 20 31 20 29 20 29 3b 0a fig_file,.(.$in{used}.==.1.).);.
28ee0 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c 75 73 68 5f 66 69 6c 65 5f 6c 69 6e #.#.write.file!!.&flush_file_lin
28f00 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 73 69 63 20 70 61 67 65 0a 26 72 65 es();.#.#.re-load.basic.page.&re
28f20 64 69 72 65 63 74 28 20 22 64 68 63 70 2e 63 67 69 22 20 29 3b 0a 0a 23 20 0a 23 20 73 75 62 2d direct(."dhcp.cgi".);..#..#.sub-
28f40 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f 66 20 75 73 65 72 5f 65 64 69 74 5f routines.#.###.END.of.user_edit_
28f60 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 apply.cgi.###...................
28f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29000 64 6e 73 6d 61 73 71 2f 76 65 6e 64 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 00 00 00 00 00 dnsmasq/vend_edit_apply.cgi.....
29020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
29080 30 30 30 33 35 37 33 00 31 30 35 31 32 36 34 32 32 34 33 00 30 31 35 30 36 36 00 20 30 00 00 00 0003573.10512642243.015066..0...
290a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
290c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
290e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29100 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
29120 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
29140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
291a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
291c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
291e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29200 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
29220 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 76 65 6e 64 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 ebmin.Module.-.vend_edit_apply.c
29240 67 69 3b 20 64 6f 20 74 68 65 20 75 70 64 61 74 65 20 20 20 20 20 20 0a 23 20 20 20 20 43 6f 70 gi;.do.the.update.......#....Cop
29260 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 yright.(C).2006.by.Neil.Fisher.#
29280 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 .....#....This.program.is.free.s
292a0 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 oftware;.you.can.redistribute.it
292c0 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 .and/or.modify.#....it.under.the
292e0 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 .terms.of.the.GNU.General.Public
29300 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 .License.as.published.by.#....th
29320 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 e.Free.Software.Foundation;.eith
29340 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a er.version.2.of.the.License,.or.
29360 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 #....(at.your.option).any.later.
29380 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 version..#.#....This.program.is.
293a0 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 distributed.in.the.hope.that.it.
293c0 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 will.be.useful,.#....but.WITHOUT
293e0 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 .ANY.WARRANTY;.without.even.the.
29400 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e implied.warranty.of.#....MERCHAN
29420 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 TABILITY.or.FITNESS.FOR.A.PARTIC
29440 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 ULAR.PURPOSE...See.the.#....GNU.
29460 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 General.Public.License.for.more.
29480 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 details..#.#....This.module.inhe
294a0 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d rited.from.the.Webmin.Module.Tem
294c0 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c plate.0.79.1.by.tn..do.'../web-l
294e0 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 ib.pl';.do.'../ui-lib.pl';.do.'d
29500 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e nsmasq-lib.pl';..$|=1;.&init_con
29520 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f fig("DNSMasq");..%access=&get_mo
29540 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 dule_acl;..##.put.in.ACL.checks.
29560 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b here.if.needed...##.sanity.check
29580 73 0a 0a 0a 23 23 20 49 6e 73 65 72 74 20 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 23 s...##.Insert.Output.code.here.#
295a0 20 72 65 61 64 20 63 6f 6e 66 69 67 20 66 69 6c 65 0a 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 3d .read.config.file.$config_file.=
295c0 20 26 72 65 61 64 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 20 24 63 6f 6e 66 69 67 7b 63 6f 6e 66 69 .&read_file_lines(.$config{confi
295e0 67 5f 66 69 6c 65 7d 20 29 3b 0a 23 20 70 61 73 73 20 69 6e 74 6f 20 64 61 74 61 20 73 74 72 75 g_file}.);.#.pass.into.data.stru
29600 63 74 75 72 65 0a 26 70 61 72 73 65 5f 63 6f 6e 66 69 67 5f 66 69 6c 65 28 20 5c 25 63 6f 6e 66 cture.&parse_config_file(.\%conf
29620 69 67 2c 20 5c 24 63 6f 6e 66 69 67 5f 66 69 6c 65 20 29 3b 0a 23 20 72 65 61 64 20 70 6f 73 74 ig,.\$config_file.);.#.read.post
29640 65 64 20 64 61 74 61 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 23 20 63 68 65 63 6b 20 66 6f ed.data.&ReadParse();.#.check.fo
29660 72 20 65 72 72 6f 72 73 20 69 6e 20 72 65 61 64 20 63 6f 6e 66 69 67 0a 69 66 28 20 24 63 6f 6e r.errors.in.read.config.if(.$con
29680 66 69 67 7b 65 72 72 6f 72 73 7d 20 3e 20 30 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 fig{errors}.>.0.).{..my.$line.=.
296a0 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 78 78 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b "error.cgi?line=xx&type=".$text{
296c0 65 72 72 5f 63 6f 6e 66 69 67 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e err_configbad};..&redirect(.$lin
296e0 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 63 68 65 63 6b 20 66 6f 72 20 69 6e 70 75 74 20 e.);..exit;.}.#.check.for.input.
29700 64 61 74 61 20 65 72 72 6f 72 73 0a 69 66 28 20 24 69 6e 7b 63 6c 61 73 73 7d 20 21 7e 20 2f 5e data.errors.if(.$in{class}.!~./^
29720 24 4e 41 4d 45 24 2f 20 20 29 0a 7b 0a 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e $NAME$/..).{..my.$line.=."error.
29740 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 65 78 74 7b 63 6c 61 73 73 7d 3b 0a 09 24 6c 69 6e 65 20 cgi?line=".$text{class};..$line.
29760 2e 3d 20 22 26 74 79 70 65 3d 22 2e 24 74 65 78 74 7b 65 72 72 5f 6e 61 6d 65 62 61 64 7d 3b 0a .=."&type=".$text{err_namebad};.
29780 09 26 72 65 64 69 72 65 63 74 28 20 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 69 66 .&redirect(.$line.);..exit;.}.if
297a0 28 20 24 69 6e 7b 76 65 6e 64 6f 72 7d 20 21 7e 20 2f 5e 24 4e 41 4d 45 24 2f 20 20 29 0a 7b 0a (.$in{vendor}.!~./^$NAME$/..).{.
297c0 09 6d 79 20 24 6c 69 6e 65 20 3d 20 22 65 72 72 6f 72 2e 63 67 69 3f 6c 69 6e 65 3d 22 2e 24 74 .my.$line.=."error.cgi?line=".$t
297e0 65 78 74 7b 76 65 6e 64 6f 72 7d 3b 0a 09 24 6c 69 6e 65 20 2e 3d 20 22 26 74 79 70 65 3d 22 2e ext{vendor};..$line..=."&type=".
29800 24 74 65 78 74 7b 65 72 72 5f 6e 61 6d 65 62 61 64 7d 3b 0a 09 26 72 65 64 69 72 65 63 74 28 20 $text{err_namebad};..&redirect(.
29820 24 6c 69 6e 65 20 29 3b 0a 09 65 78 69 74 3b 0a 7d 0a 23 20 61 64 6a 75 73 74 20 65 76 65 72 79 $line.);..exit;.}.#.adjust.every
29840 74 68 69 6e 67 20 74 6f 20 77 68 61 74 20 77 65 20 67 6f 74 0a 23 0a 6d 79 20 24 6c 69 6e 65 3d thing.to.what.we.got.#.my.$line=
29860 22 64 68 63 70 2d 76 65 6e 64 6f 72 63 6c 61 73 73 3d 22 2e 24 69 6e 7b 63 6c 61 73 73 7d 2e 22 "dhcp-vendorclass=".$in{class}."
29880 2c 22 2e 24 69 6e 7b 76 65 6e 64 6f 72 7d 3b 0a 26 75 70 64 61 74 65 28 20 24 63 6f 6e 66 69 67 ,".$in{vendor};.&update(.$config
298a0 7b 76 65 6e 64 6f 72 5f 63 6c 61 73 73 7d 5b 24 69 6e 7b 69 64 78 7d 5d 7b 6c 69 6e 65 7d 2c 20 {vendor_class}[$in{idx}]{line},.
298c0 24 6c 69 6e 65 2c 0a 09 24 63 6f 6e 66 69 67 5f 66 69 6c 65 2c 20 28 20 24 69 6e 7b 75 73 65 64 $line,..$config_file,.(.$in{used
298e0 7d 20 3d 3d 20 31 20 29 20 29 3b 0a 23 0a 23 20 77 72 69 74 65 20 66 69 6c 65 21 21 0a 26 66 6c }.==.1.).);.#.#.write.file!!.&fl
29900 75 73 68 5f 66 69 6c 65 5f 6c 69 6e 65 73 28 29 3b 0a 23 0a 23 20 72 65 2d 6c 6f 61 64 20 62 61 ush_file_lines();.#.#.re-load.ba
29920 73 69 63 20 70 61 67 65 0a 26 72 65 64 69 72 65 63 74 28 20 22 64 68 63 70 2e 63 67 69 22 20 29 sic.page.&redirect(."dhcp.cgi".)
29940 3b 0a 0a 23 20 0a 23 20 73 75 62 2d 72 6f 75 74 69 6e 65 73 0a 23 0a 23 23 23 20 45 4e 44 20 6f ;..#..#.sub-routines.#.###.END.o
29960 66 20 76 65 6e 64 5f 65 64 69 74 5f 61 70 70 6c 79 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 f.vend_edit_apply.cgi.###.......
29980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
299e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a00 64 6e 73 6d 61 73 71 2f 65 72 72 6f 72 2e 63 67 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dnsmasq/error.cgi...............
29a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a60 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
29a80 30 30 30 33 30 32 36 00 31 30 35 31 31 33 35 30 35 34 37 00 30 31 33 30 34 34 00 20 30 00 00 00 0003026.10511350547.013044..0...
29aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
29b20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
29b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c00 23 21 2f 75 73 72 2f 62 69 6e 2f 70 65 72 6c 0a 23 0a 23 20 20 20 20 44 4e 53 4d 61 73 71 20 57 #!/usr/bin/perl.#.#....DNSMasq.W
29c20 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 2d 20 65 72 72 6f 72 2e 63 67 69 3b 20 72 65 70 6f 72 74 ebmin.Module.-.error.cgi;.report
29c40 20 65 72 72 6f 72 73 0a 23 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 36 20 .errors.#....Copyright.(C).2006.
29c60 62 79 20 4e 65 69 6c 20 46 69 73 68 65 72 0a 23 20 20 20 20 0a 23 20 20 20 20 54 68 69 73 20 70 by.Neil.Fisher.#.....#....This.p
29c80 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e rogram.is.free.software;.you.can
29ca0 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 23 .redistribute.it.and/or.modify.#
29cc0 20 20 20 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e ....it.under.the.terms.of.the.GN
29ce0 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c U.General.Public.License.as.publ
29d00 69 73 68 65 64 20 62 79 0a 23 20 20 20 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 ished.by.#....the.Free.Software.
29d20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 Foundation;.either.version.2.of.
29d40 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 28 61 74 20 79 6f 75 72 20 6f 70 the.License,.or.#....(at.your.op
29d60 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 23 0a 23 20 20 20 20 tion).any.later.version..#.#....
29d80 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 This.program.is.distributed.in.t
29da0 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a he.hope.that.it.will.be.useful,.
29dc0 23 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 #....but.WITHOUT.ANY.WARRANTY;.w
29de0 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 ithout.even.the.implied.warranty
29e00 20 6f 66 0a 23 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e .of.#....MERCHANTABILITY.or.FITN
29e20 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 ESS.FOR.A.PARTICULAR.PURPOSE...S
29e40 65 65 20 74 68 65 0a 23 20 20 20 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c ee.the.#....GNU.General.Public.L
29e60 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 0a 23 20 20 20 20 icense.for.more.details..#.#....
29e80 54 68 69 73 20 6d 6f 64 75 6c 65 20 69 6e 68 65 72 69 74 65 64 20 66 72 6f 6d 20 74 68 65 20 57 This.module.inherited.from.the.W
29ea0 65 62 6d 69 6e 20 4d 6f 64 75 6c 65 20 54 65 6d 70 6c 61 74 65 20 30 2e 37 39 2e 31 20 62 79 20 ebmin.Module.Template.0.79.1.by.
29ec0 74 6e 0a 0a 64 6f 20 27 2e 2e 2f 77 65 62 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 2e 2e 2f 75 tn..do.'../web-lib.pl';.do.'../u
29ee0 69 2d 6c 69 62 2e 70 6c 27 3b 0a 64 6f 20 27 64 6e 73 6d 61 73 71 2d 6c 69 62 2e 70 6c 27 3b 0a i-lib.pl';.do.'dnsmasq-lib.pl';.
29f00 0a 24 7c 3d 31 3b 0a 26 69 6e 69 74 5f 63 6f 6e 66 69 67 28 22 44 4e 53 4d 61 73 71 22 29 3b 0a .$|=1;.&init_config("DNSMasq");.
29f20 0a 25 61 63 63 65 73 73 3d 26 67 65 74 5f 6d 6f 64 75 6c 65 5f 61 63 6c 3b 0a 0a 23 23 20 70 75 .%access=&get_module_acl;..##.pu
29f40 74 20 69 6e 20 41 43 4c 20 63 68 65 63 6b 73 20 68 65 72 65 20 69 66 20 6e 65 65 64 65 64 0a 0a t.in.ACL.checks.here.if.needed..
29f60 0a 23 23 20 73 61 6e 69 74 79 20 63 68 65 63 6b 73 0a 0a 26 68 65 61 64 65 72 28 24 74 65 78 74 .##.sanity.checks..&header($text
29f80 7b 27 69 6e 64 65 78 5f 74 69 74 6c 65 27 7d 2c 20 22 22 2c 20 22 69 6e 74 72 6f 22 2c 20 31 2c {'index_title'},."",."intro",.1,
29fa0 20 31 2c 20 75 6e 64 65 66 2c 0a 20 20 20 20 20 20 20 20 22 57 72 69 74 74 65 6e 20 62 79 20 4e .1,.undef,........."Written.by.N
29fc0 65 69 6c 20 46 69 73 68 65 72 3c 42 52 3e 3c 41 20 48 52 45 46 3d 6d 61 69 6c 74 6f 3a 6e 65 69 eil.Fisher<BR><A.HREF=mailto:nei
29fe0 6c 5c 40 6d 61 67 6e 65 63 6f 72 2e 63 6f 6d 2e 61 75 3e 41 75 74 68 6f 72 3c 2f 41 3e 3c 42 52 l\@magnecor.com.au>Author</A><BR
2a000 3e 3c 41 20 48 52 45 46 3d 68 74 74 70 3a 2f 2f 77 77 77 2e 61 75 74 68 6f 72 70 61 67 65 2e 69 ><A.HREF=http://www.authorpage.i
2a020 6e 76 61 6c 69 64 3e 48 6f 6d 65 3a 2f 2f 70 61 67 65 3c 2f 41 3e 22 29 3b 0a 23 20 75 73 65 73 nvalid>Home://page</A>");.#.uses
2a040 20 74 68 65 20 69 6e 64 65 78 5f 74 69 74 6c 65 20 65 6e 74 72 79 20 66 72 6f 6d 20 2e 2f 6c 61 .the.index_title.entry.from../la
2a060 6e 67 2f 65 6e 20 6f 72 20 61 70 70 72 6f 70 72 69 61 74 65 0a 0a 23 23 20 49 6e 73 65 72 74 20 ng/en.or.appropriate..##.Insert.
2a080 4f 75 74 70 75 74 20 63 6f 64 65 20 68 65 72 65 0a 0a 23 20 6f 75 74 70 75 74 20 61 73 20 77 65 Output.code.here..#.output.as.we
2a0a0 62 20 70 61 67 65 0a 26 52 65 61 64 50 61 72 73 65 28 29 3b 0a 70 72 69 6e 74 20 22 3c 68 32 3e b.page.&ReadParse();.print."<h2>
2a0c0 22 2e 24 74 65 78 74 7b 65 72 72 6f 72 5f 68 65 61 64 69 6e 67 7d 2e 22 3c 2f 68 32 3e 22 3b 0a ".$text{error_heading}."</h2>";.
2a0e0 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 3e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 65 72 print."<br><br>";.print.$text{er
2a100 72 5f 6c 69 6e 65 7d 3b 0a 70 72 69 6e 74 20 24 69 6e 7b 6c 69 6e 65 7d 3b 0a 70 72 69 6e 74 20 r_line};.print.$in{line};.print.
2a120 22 3c 62 72 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 65 72 72 5f 74 79 70 65 7d 3b "<br>\n";.print.$text{err_type};
2a140 0a 70 72 69 6e 74 20 24 69 6e 7b 74 79 70 65 7d 3b 0a 70 72 69 6e 74 20 22 3c 62 72 3e 3c 62 72 .print.$in{type};.print."<br><br
2a160 3e 5c 6e 22 3b 0a 70 72 69 6e 74 20 24 74 65 78 74 7b 65 72 72 5f 68 65 6c 70 7d 3b 0a 26 66 6f >\n";.print.$text{err_help};.&fo
2a180 6f 74 65 72 28 22 2f 22 2c 20 24 74 65 78 74 7b 27 69 6e 64 65 78 27 7d 29 3b 0a 23 20 75 73 65 oter("/",.$text{'index'});.#.use
2a1a0 73 20 74 68 65 20 69 6e 64 65 78 20 65 6e 74 72 79 20 69 6e 20 2f 6c 61 6e 67 2f 65 6e 0a 0a 0a s.the.index.entry.in./lang/en...
2a1c0 0a 23 23 20 69 66 20 73 75 62 72 6f 75 74 69 6e 65 73 20 61 72 65 20 6e 6f 74 20 69 6e 20 61 6e .##.if.subroutines.are.not.in.an
2a1e0 20 65 78 74 72 61 20 66 69 6c 65 20 70 75 74 20 74 68 65 6d 20 68 65 72 65 0a 0a 0a 23 23 23 20 .extra.file.put.them.here...###.
2a200 45 4e 44 20 6f 66 20 65 72 72 6f 72 2e 63 67 69 20 23 23 23 2e 0a 00 00 00 00 00 00 00 00 00 00 END.of.error.cgi.###............
2a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................