diff options
| author | Glen Barber <gjb@FreeBSD.org> | 2018-10-05 17:53:47 +0000 |
|---|---|---|
| committer | Glen Barber <gjb@FreeBSD.org> | 2018-10-05 17:53:47 +0000 |
| commit | 01d4e2149e5566e5d9394913dc9fb032da259e0b (patch) | |
| tree | 4bc35787f1ac2632cbdbd5f1627bf552fb11501b /lib | |
| parent | e4456411a8c2d4a9bfbccd60f2cf914fd402f817 (diff) | |
| parent | c84dbc532904f2342f06fed592c384fd0c6436f5 (diff) | |
Notes
Diffstat (limited to 'lib')
39 files changed, 2837 insertions, 185 deletions
diff --git a/lib/Makefile b/lib/Makefile index da30e8403a21..4332aa13a70c 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -70,6 +70,8 @@ SUBDIR= ${SUBDIR_BOOTSTRAP} \ libpathconv \ libpcap \ libpjdlog \ + libpmc \ + libpmcstat \ ${_libproc} \ libprocstat \ libregex \ @@ -198,9 +200,6 @@ _libdl= libdl .endif SUBDIR.${MK_OPENSSL}+= libmp -.if (${COMPILER_TYPE} == "clang" || (${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60100 && ${MACHINE_CPUARCH} != "riscv")) -SUBDIR.${MK_PMC}+= libpmc libpmcstat -.endif SUBDIR.${MK_RADIUS_SUPPORT}+= libradius SUBDIR.${MK_SENDMAIL}+= libmilter libsm libsmdb libsmutil SUBDIR.${MK_TELNET}+= libtelnet diff --git a/lib/clang/freebsd_cc_version.h b/lib/clang/freebsd_cc_version.h index cb89cc37f126..9096dc913f14 100644 --- a/lib/clang/freebsd_cc_version.h +++ b/lib/clang/freebsd_cc_version.h @@ -1,3 +1,3 @@ /* $FreeBSD$ */ -#define FREEBSD_CC_VERSION 1200015 +#define FREEBSD_CC_VERSION 1200016 diff --git a/lib/csu/arm/crt1.c b/lib/csu/arm/crt1.c index 5fe92947dbfb..0d61d319f351 100644 --- a/lib/csu/arm/crt1.c +++ b/lib/csu/arm/crt1.c @@ -44,6 +44,8 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); +#include <sys/param.h> +#include <sys/elf_common.h> #include <stdlib.h> #include "libc_private.h" @@ -120,7 +122,7 @@ static const struct { } archtag __attribute__ ((section (NOTE_SECTION), aligned(4))) __used = { .namesz = sizeof(NOTE_FREEBSD_VENDOR), .descsz = sizeof(MACHINE_ARCH), - .type = ARCH_NOTETYPE, + .type = NT_FREEBSD_ARCH_TAG, .name = NOTE_FREEBSD_VENDOR, .desc = MACHINE_ARCH }; diff --git a/lib/csu/common/crtbrand.c b/lib/csu/common/crtbrand.c index fcdb824cf749..c407de435b96 100644 --- a/lib/csu/common/crtbrand.c +++ b/lib/csu/common/crtbrand.c @@ -29,6 +29,7 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> +#include <sys/elf_common.h> #include "notes.h" /* @@ -62,7 +63,7 @@ static const struct { } abitag __attribute__ ((section (NOTE_SECTION), aligned(4))) __used = { .namesz = sizeof(NOTE_FREEBSD_VENDOR), .descsz = sizeof(int32_t), - .type = ABI_NOTETYPE, + .type = NT_FREEBSD_ABI_TAG, .name = NOTE_FREEBSD_VENDOR, .desc = __FreeBSD_version }; diff --git a/lib/csu/common/ignore_init.c b/lib/csu/common/ignore_init.c index 184bcbdf5447..6199c778ab52 100644 --- a/lib/csu/common/ignore_init.c +++ b/lib/csu/common/ignore_init.c @@ -28,6 +28,8 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); +#include <sys/param.h> +#include <sys/elf_common.h> #include "notes.h" extern int main(int, char **, char **); @@ -114,7 +116,7 @@ static const struct { aligned(4))) __used = { .namesz = sizeof(NOTE_FREEBSD_VENDOR), .descsz = sizeof(uint32_t), - .type = CRT_NOINIT_NOTETYPE, + .type = NT_FREEBSD_NOINIT_TAG, .name = NOTE_FREEBSD_VENDOR, .desc = 0 }; diff --git a/lib/csu/common/notes.h b/lib/csu/common/notes.h index aeb5203d8dc1..44d2d95487cb 100644 --- a/lib/csu/common/notes.h +++ b/lib/csu/common/notes.h @@ -34,8 +34,4 @@ #define NOTE_SECTION ".note.tag" -#define ABI_NOTETYPE 1 -#define CRT_NOINIT_NOTETYPE 2 -#define ARCH_NOTETYPE 3 - #endif diff --git a/lib/lib80211/Makefile b/lib/lib80211/Makefile index fe103ce81cbd..54efe869b84a 100644 --- a/lib/lib80211/Makefile +++ b/lib/lib80211/Makefile @@ -1,5 +1,6 @@ # $FreeBSD$ +CONFS= regdomain.xml PACKAGE=lib${LIB} LIB= 80211 SHLIBDIR?= /lib diff --git a/lib/lib80211/regdomain.xml b/lib/lib80211/regdomain.xml new file mode 100644 index 000000000000..21d544cbb043 --- /dev/null +++ b/lib/lib80211/regdomain.xml @@ -0,0 +1,1943 @@ +<!-- + Copyright (c) 2007-2008 Sam Leffler, Errno Consulting + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + $FreeBSD$ +--> + +<regulatory-data> + +<!-- Regdomain/SKU definitions --> + +<regulatory-domains> + +<!-- + DEBUG holds all available channels; the driver/device + defines what the capabilities and tx power caps are. + Regdomain code gets this information with the + IEEE80211_IOC_DRIVERCAPS ioctl. +--> +<rd id="debug"> + <name>DEBUG</name> + <sku>0x1ff</sku> +</rd> + +<rd id="fcc"> + <name>FCC</name> + <sku>0x10</sku> + <defcc ref="US"/> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + </band> + <band> + <freqband ref="F1_5825_5825"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> +</rd> + +<!-- FCC3 is FCC w/ DFS on Upper-UNI --> + +<rd id="fcc3"> + <name>FCC3</name> + <sku>0x3a</sku> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5580"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5660_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5825_5825"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5580"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5500_5580"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5660_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5660_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> +</rd> + +<!-- FCC4 is 2.4GHz FCC w/ Public Safety Band (PSB) --> + +<rd id="fcc4"> + <name>FCC4</name> + <sku>0x12</sku> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_4950_4980"/> + <maxpower>23</maxpower> + </band> + <band> + <freqband ref="F1_4945_4985_10"/> + <maxpower>27</maxpower> + </band> + <band> + <freqband ref="F1_4942_4987_5"/> + <maxpower>30</maxpower> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> +</rd> + +<rd id="japan"> + <name>JAPAN</name> + <sku>0x40</sku> + <defcc ref="JP"/> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + <band> + <freqband ref="F1_2484_2484"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_4920_4980"/> + <maxpower>23</maxpower> + </band> + <band> + <freqband ref="F1_5040_5080"/> + <maxpower>23</maxpower> + </band> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>23</maxpower> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2472"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_4920_4980"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_4920_4980"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5040_5080"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5040_5080"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5180_5240"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5500_5680"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> +</rd> + +<rd id="etsi"> + <name>ETSI</name> + <sku>0x30</sku> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5260_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5500_5680"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> +</rd> + +<!-- ETSI w/o HT40 in 5GHz --> + +<rd id="etsi2"> + <name>ETSI2</name> + <sku>0x32</sku> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5120_5240"/> + <maxpower>17</maxpower> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5120_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> +</rd> + +<!-- ETSI - channel 36 --> + +<rd id="etsi3"> + <name>ETSI3</name> + <sku>0x33</sku> + <defcc ref="RO"/> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5200_5240"/> + <maxpower>17</maxpower> + </band> + <band> + <freqband ref="F1_5280_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5200_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5200_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5280_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5280_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5500_5680"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + </netband> +</rd> + +<rd id="apac"> + <name>APAC</name> + <sku>0x50</sku> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + </band> + <band> + <freqband ref="F1_5825_5825"/> + <maxpower>23</maxpower> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="H4_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> +</rd> + +<!-- APAC w/ DFS on Mid-band --> + +<rd id="apac2"> + <name>APAC2</name> + <sku>0x51</sku> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5120_5240"/> + <maxpower>17</maxpower> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + </band> + <band> + <freqband ref="F1_5825_5825"/> + <maxpower>23</maxpower> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5120_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5120_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="H4_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> +</rd> + +<!-- APAC w/o ISM band --> + +<rd id="apac3"> + <name>APAC3</name> + <sku>0x5d</sku> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + <flags>IEEE80211_CHAN_DFS</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="H4_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> +</rd> + +<rd id="korea"> + <name>KOREA</name> + <sku>0x45</sku> + <defcc ref="KR"/> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + <band> + <freqband ref="F1_2467_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="F1_2467_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5500_5620"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="F1_2467_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5180_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5500_5620"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> +</rd> + +<!-- Rest Of World --> + +<rd id="row"> + <name>ROW</name> + <sku>0x8a</sku> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="H4_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> +</rd> + +<rd id="none"> + <name>NONE</name> + <sku>0xf0</sku> + <netband mode="11b"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + </band> + <band> + <freqband ref="F1_2467_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_B</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11g"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="F1_2467_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11a"> + <band> + <freqband ref="F1_5120_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5825_5825"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11ng"> + <band> + <freqband ref="F1_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + </band> + <band> + <freqband ref="H4_2412_2462"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + </band> + <band> + <freqband ref="F1_2467_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="H4_2467_2472"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> + <netband mode="11na"> + <band> + <freqband ref="F1_5120_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="H4_5120_5240"/> + <maxpower>17</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5260_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="H4_5260_5320"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5500_5700"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="H4_5500_5680"/> + <maxpower>24</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="H4_5745_5805"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="F1_5825_5825"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT20</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + <band> + <freqband ref="H4_5825_5825"/> + <maxpower>23</maxpower> + <flags>IEEE80211_CHAN_HT40</flags> + <flags>IEEE80211_CHAN_PASSIVE</flags> + </band> + </netband> +</rd> + +<rd id="sr9"> + <name>SR9</name> + <sku>0x0298</sku> + <netband mode="11g"> + <band> + <freqband ref="S1_907_922_5"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="S1_907_922_10"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="S1_912_917"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> +</rd> + +<rd id="xr9"> + <name>XR9</name> + <sku>0x299</sku> + <netband mode="11g"> + <band> + <freqband ref="S1_907_922_5"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="S1_907_922_10"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="S1_912_917"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> +</rd> + +<rd id="gz901"> + <name>GZ901</name> + <sku>0x29a</sku> + <netband mode="11g"> + <band> + <freqband ref="S1_908_923_5"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="S1_913_918_10"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="S1_913_918"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> +</rd> + +<rd id="xc900m"> + <name>XC900M</name> + <sku>0x29b</sku> + <netband mode="11g"> + <band> + <freqband ref="S1_905_925_5"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="S1_910_920_10"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + <band> + <freqband ref="S1_915_915"/> + <maxpower>30</maxpower> + <flags>IEEE80211_CHAN_G</flags> + </band> + </netband> +</rd> + +</regulatory-domains> + +<country-codes> +<!-- + ISO 3166 Country/Region codes and regdomain mapping. + + http://ftp.ics.uci.edu/pub/ietf/http/related/iso3166.txt + has the list of codes. + XXX this table is incomplete +--> +<country id="AL"> + <isocc>8</isocc> <name>Albania</name> <rd ref="none"/> +</country> +<country id="DZ"> + <isocc>12</isocc> <name>Algeria</name> <rd ref="none"/> +</country> +<country id="AR"> + <isocc>32</isocc> <name>Argentina</name> <rd ref="none"/> +</country> +<country id="AM"> + <isocc>51</isocc> <name>Armenia</name> <rd ref="etsi"/> +</country> +<country id="AU"> + <isocc>36</isocc> <name>Australia</name> <rd ref="row"/> +</country> +<country id="AT"> + <isocc>40</isocc> <name>Austria</name> <rd ref="etsi2"/> +</country> +<country id="AZ"> + <isocc>31</isocc> <name>Azerbaijan</name> <rd ref="etsi"/> +</country> +<country id="BH"> + <isocc>48</isocc> <name>Bahrain</name> <rd ref="none"/> +</country> +<country id="BD"> + <isocc>50</isocc> <name>Bangladesh</name> <rd ref="row"/> +</country> +<country id="BY"> + <isocc>112</isocc> <name>Belarus</name> <rd ref="none"/> +</country> +<country id="BE"> + <isocc>56</isocc> <name>Belgium</name> <rd ref="etsi"/> +</country> +<country id="BZ"> + <isocc>84</isocc> <name>Belize</name> <rd ref="none"/> +</country> +<country id="BO"> + <isocc>68</isocc> <name>Bolivia</name> <rd ref="none"/> +</country> +<country id="BR"> + <isocc>76</isocc> <name>Brazil</name> <rd ref="fcc"/> +</country> +<country id="BN"> + <isocc>96</isocc> <name>Brunei</name> <rd ref="apac"/> +</country> +<country id="BG"> + <isocc>100</isocc> <name>Bulgaria</name> <rd ref="etsi"/> +</country> +<country id="CA"> + <isocc>124</isocc> <name>Canada</name> <rd ref="fcc"/> +</country> +<country id="CL"> + <isocc>152</isocc> <name>Chile</name> <rd ref="row"/> +</country> +<country id="CN"> + <isocc>156</isocc> <name>China</name> <rd ref="row"/> +</country> +<country id="CO"> + <isocc>170</isocc> <name>Colombia</name> <rd ref="fcc"/> +</country> +<country id="CR"> + <isocc>188</isocc> <name>Costa Rica</name> <rd ref="none"/> +</country> +<country id="HR"> + <isocc>191</isocc> <name>Croatia</name> <rd ref="etsi"/> +</country> +<country id="CY"> + <isocc>196</isocc> <name>Cyprus</name> <rd ref="etsi"/> +</country> +<country id="CZ"> + <isocc>203</isocc> <name>Czech Republic</name> <rd ref="etsi"/> +</country> +<country id="DK"> + <isocc>208</isocc> <name>Denmark</name> <rd ref="etsi"/> +</country> +<country id="DO"> + <isocc>214</isocc> <name>Dominican Republic</name> <rd ref="none"/> +</country> +<country id="EC"> + <isocc>218</isocc> <name>Ecuador</name> <rd ref="none"/> +</country> +<country id="EG"> + <isocc>818</isocc> <name>Egypt</name> <rd ref="none"/> +</country> +<country id="SV"> + <isocc>222</isocc> <name>El Salvador</name> <rd ref="none"/> +</country> +<country id="EE"> + <isocc>233</isocc> <name>Estonia</name> <rd ref="etsi"/> +</country> +<country id="FI"> + <isocc>246</isocc> <name>Finland</name> <rd ref="etsi"/> +</country> +<country id="FR"> + <isocc>250</isocc> <name>France</name> <rd ref="etsi"/> +</country> +<country id="F2"> + <isocc>255</isocc> <name>France2</name> <rd ref="etsi"/> +</country> +<country id="GE"> + <isocc>268</isocc> <name>Georgia</name> <rd ref="etsi"/> +</country> +<country id="DE"> + <isocc>276</isocc> <name>Germany</name> <rd ref="etsi"/> +</country> +<country id="GR"> + <isocc>300</isocc> <name>Greece</name> <rd ref="etsi"/> +</country> +<country id="GT"> + <isocc>320</isocc> <name>Guatemala</name> <rd ref="none"/> +</country> +<country id="HN"> + <isocc>340</isocc> <name>Honduras</name> <rd ref="none"/> +</country> +<country id="HK"> + <isocc>344</isocc> <name>Hong Kong</name> <rd ref="apac"/> +</country> +<country id="HU"> + <isocc>348</isocc> <name>Hungary</name> <rd ref="etsi"/> +</country> +<country id="IS"> + <isocc>352</isocc> <name>Iceland</name> <rd ref="etsi"/> +</country> +<country id="IN"> + <isocc>356</isocc> <name>India</name> <rd ref="apac"/> +</country> +<country id="ID"> + <isocc>360</isocc> <name>Indonesia</name> <rd ref="none"/> +</country> +<country id="IR"> + <isocc>364</isocc> <name>Iran</name> <rd ref="none"/> +</country> +<country id="IE"> + <isocc>372</isocc> <name>Ireland</name> <rd ref="etsi"/> +</country> +<country id="IL"> + <isocc>376</isocc> <name>Israel</name> <rd ref="none"/> +</country> +<country id="IT"> + <isocc>380</isocc> <name>Italy</name> <rd ref="etsi"/> +</country> +<country id="JM"> + <isocc>388</isocc> <name>Jamaica</name> <rd ref="none"/> +</country> +<country id="JP"> + <isocc>392</isocc> <name>Japan</name> <rd ref="japan"/> +</country> +<country id="J1"> + <isocc>393</isocc> <name>Japan1</name> <rd ref="japan"/> +</country> +<country id="J2"> + <isocc>394</isocc> <name>Japan2</name> <rd ref="japan"/> +</country> +<country id="J3"> + <isocc>395</isocc> <name>Japan3</name> <rd ref="japan"/> +</country> +<country id="J4"> + <isocc>396</isocc> <name>Japan4</name> <rd ref="japan"/> +</country> +<country id="J5"> + <isocc>397</isocc> <name>Japan5</name> <rd ref="japan"/> +</country> +<country id="JO"> + <isocc>400</isocc> <name>Jordan</name> <rd ref="none"/> +</country> +<country id="KZ"> + <isocc>398</isocc> <name>Kazakhstan</name> <rd ref="none"/> +</country> +<country id="KP"> + <isocc>408</isocc> <name>North Korea</name> <rd ref="korea"/> +</country> +<country id="KR"> + <isocc>410</isocc> <name>Korea Republic</name> <rd ref="korea"/> +</country> +<country id="K2"> + <isocc>411</isocc> <name>Korea Republic2</name> <rd ref="none"/> +</country> +<country id="KW"> + <isocc>414</isocc> <name>Kuwait</name> <rd ref="none"/> +</country> +<country id="LV"> + <isocc>428</isocc> <name>Latvia</name> <rd ref="etsi2"/> +</country> +<country id="LB"> + <isocc>422</isocc> <name>Lebanon</name> <rd ref="none"/> +</country> +<country id="LI"> + <isocc>438</isocc> <name>Liechtenstein</name> <rd ref="etsi"/> +</country> +<country id="LT"> + <isocc>440</isocc> <name>Lithuania</name> <rd ref="etsi"/> +</country> +<country id="LU"> + <isocc>442</isocc> <name>Luxemborg</name> <rd ref="etsi"/> +</country> +<country id="MO"> + <isocc>446</isocc> <name>Macau</name> <rd ref="none"/> +</country> +<country id="MK"> + <isocc>807</isocc> <name>Macedonia</name> <rd ref="none"/> +</country> +<country id="MY"> + <isocc>458</isocc> <name>Malaysia</name> <rd ref="apac3"/> +</country> +<country id="MT"> + <isocc>470</isocc> <name>Malta</name> <rd ref="etsi"/> +</country> +<country id="MX"> + <isocc>484</isocc> <name>Mexico</name> <rd ref="fcc"/> +</country> +<country id="MC"> + <isocc>492</isocc> <name>Monaco</name> <rd ref="none"/> +</country> +<country id="MA"> + <isocc>504</isocc> <name>Morocco</name> <rd ref="etsi"/> +</country> +<country id="NP"> + <isocc>524</isocc> <name>Nepal</name> <rd ref="row"/> +</country> +<country id="NL"> + <isocc>528</isocc> <name>Netherlands</name> <rd ref="etsi"/> +</country> +<country id="NZ"> + <isocc>554</isocc> <name>New Zealand</name> <rd ref="apac"/> +</country> +<country id="NO"> + <isocc>578</isocc> <name>Norway</name> <rd ref="etsi"/> +</country> +<country id="OM"> + <isocc>512</isocc> <name>Oman</name> <rd ref="none"/> +</country> +<country id="PK"> + <isocc>586</isocc> <name>Pakistan</name> <rd ref="row"/> +</country> +<country id="PA"> + <isocc>591</isocc> <name>Panama</name> <rd ref="none"/> +</country> +<country id="PE"> + <isocc>604</isocc> <name>Peru</name> <rd ref="none"/> +</country> +<country id="PH"> + <isocc>608</isocc> <name>Phillipines</name> <rd ref="apac2"/> +</country> +<country id="PL"> + <isocc>616</isocc> <name>Poland</name> <rd ref="etsi"/> +</country> +<country id="PT"> + <isocc>620</isocc> <name>Portugal</name> <rd ref="etsi"/> +</country> +<country id="PR"> + <isocc>630</isocc> <name>Puerto Rico</name> <rd ref="fcc"/> +</country> +<country id="QA"> + <isocc>634</isocc> <name>Quatar</name> <rd ref="none"/> +</country> +<country id="RO"> + <isocc>642</isocc> <name>Romania</name> <rd ref="etsi"/> +</country> +<country id="RU"> + <isocc>643</isocc> <name>Russia</name> <rd ref="none"/> +</country> +<country id="SA"> + <isocc>682</isocc> <name>Saudi Arabia</name> <rd ref="none"/> +</country> +<country id="SG"> + <isocc>702</isocc> <name>Singapore</name> <rd ref="apac2"/> +</country> +<country id="SK"> + <isocc>703</isocc> <name>Slovak Republic</name> <rd ref="etsi2"/> +</country> +<country id="SI"> + <isocc>705</isocc> <name>Slovenia</name> <rd ref="etsi"/> +</country> +<country id="ZA"> + <isocc>710</isocc> <name>South Africa</name> <rd ref="none"/> +</country> +<country id="ES"> + <isocc>724</isocc> <name>Spain</name> <rd ref="etsi2"/> +</country> +<country id="LK"> + <isocc>144</isocc> <name>Sri Lanka</name> <rd ref="apac2"/> +</country> +<country id="SE"> + <isocc>752</isocc> <name>Sweden</name> <rd ref="etsi"/> +</country> +<country id="CH"> + <isocc>756</isocc> <name>Switzerland</name> <rd ref="etsi"/> +</country> +<country id="SY"> + <isocc>760</isocc> <name>Syria</name> <rd ref="none"/> +</country> +<country id="TW"> + <isocc>158</isocc> <name>Taiwan</name> <rd ref="row"/> +</country> +<country id="TH"> + <isocc>764</isocc> <name>Thailand</name> <rd ref="none"/> +</country> +<country id="TT"> + <isocc>780</isocc> <name>Tobago</name> <rd ref="none"/> +</country> +<country id="TN"> + <isocc>788</isocc> <name>Tunisia</name> <rd ref="none"/> +</country> +<country id="TR"> + <isocc>792</isocc> <name>Turkey</name> <rd ref="etsi"/> +</country> +<country id="UA"> + <isocc>804</isocc> <name>Ukraine</name> <rd ref="none"/> +</country> +<country id="AE"> + <isocc>784</isocc> <name>United Arab Emirates</name> <rd ref="none"/> +</country> +<country id="GB"> + <isocc>826</isocc> <name>United Kingdom</name> <rd ref="etsi"/> +</country> +<country id="US"> + <isocc>840</isocc> <name>United States</name> <rd ref="fcc"/> +</country> +<country id="UY"> + <isocc>858</isocc> <name>Uruguay</name> <rd ref="none"/> +</country> +<country id="UZ"> + <isocc>860</isocc> <name>Uzbekistan</name> <rd ref="none"/> +</country> +<country id="VE"> + <isocc>862</isocc> <name>Venezuela</name> <rd ref="fcc"/> +</country> +<country id="VN"> + <isocc>704</isocc> <name>Viet Nam</name> <rd ref="apac2"/> +</country> +<country id="YE"> + <isocc>887</isocc> <name>Yemen</name> <rd ref="none"/> +</country> +<country id="ZW"> + <isocc>716</isocc> <name>Zimbabwe</name> <rd ref="none"/> +</country> + +<country id="DEBUG"> + <isocc>0</isocc> <name>Debug</name> <rd ref="debug"/> +</country> +</country-codes> + +<!-- + Band specifications referenced above. + NB: keep sorted by starting frequency, legacy before HT +--> +<shared-frequency-bands> +<freqband id="F1_4942_4987_5"> + <freqstart>4942</freqstart> <freqend>4987</freqend> + <chanwidth>5</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_A</flags> + <flags>IEEE80211_CHAN_QUARTER</flags> +</freqband> +<freqband id="F1_4945_4985_10"> + <freqstart>4945</freqstart> <freqend>4985</freqend> + <chanwidth>10</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_A</flags> + <flags>IEEE80211_CHAN_HALF</flags> +</freqband> +<freqband id="F1_4920_4980"> + <freqstart>4920</freqstart> <freqend>4980</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_4920_4980"> + <freqstart>4920</freqstart> <freqend>4980</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_4950_4980"> + <freqstart>4950</freqstart> <freqend>4980</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5040_5080"> + <freqstart>5040</freqstart> <freqend>5080</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5040_5080"> + <freqstart>5040</freqstart> <freqend>5080</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5120_5240"> + <freqstart>5120</freqstart> <freqend>5240</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5120_5240"> + <freqstart>5120</freqstart> <freqend>5240</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5180_5240"> + <freqstart>5180</freqstart> <freqend>5240</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5180_5240"> + <freqstart>5180</freqstart> <freqend>5240</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5200_5240"> + <freqstart>5200</freqstart> <freqend>5240</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5200_5240"> + <freqstart>5200</freqstart> <freqend>5240</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5260_5320"> + <freqstart>5260</freqstart> <freqend>5320</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5260_5320"> + <freqstart>5260</freqstart> <freqend>5320</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5260_5700"> + <freqstart>5260</freqstart> <freqend>5700</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5280_5320"> + <freqstart>5280</freqstart> <freqend>5320</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5280_5320"> + <freqstart>5280</freqstart> <freqend>5320</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5500_5580"> + <freqstart>5500</freqstart> <freqend>5580</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5500_5580"> + <freqstart>5500</freqstart> <freqend>5580</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5500_5620"> + <freqstart>5500</freqstart> <freqend>5620</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5500_5620"> + <freqstart>5500</freqstart> <freqend>5620</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5500_5680"> + <freqstart>5500</freqstart> <freqend>5680</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5500_5700"> + <freqstart>5500</freqstart> <freqend>5700</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5660_5700"> + <freqstart>5660</freqstart> <freqend>5700</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5660_5700"> + <freqstart>5660</freqstart> <freqend>5700</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5725_5825"> + <freqstart>5725</freqstart> <freqend>5825</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5745_5805"> + <freqstart>5745</freqstart> <freqend>5805</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5745_5805"> + <freqstart>5745</freqstart> <freqend>5805</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5745_5825"> + <freqstart>5745</freqstart> <freqend>5825</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="F1_5825_5825"> + <freqstart>5825</freqstart> <freqend>5825</freqend> + <chanwidth>20</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> +<freqband id="H4_5825_5825"> + <freqstart>5825</freqstart> <freqend>5825</freqend> + <chanwidth>40</chanwidth> <chansep>20</chansep> + <flags>IEEE80211_CHAN_A</flags> +</freqband> + +<freqband id="F1_2312_2372"> + <freqstart>2312</freqstart> <freqend>2372</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> +</freqband> +<freqband id="F1_2412_2462"> + <freqstart>2412</freqstart> <freqend>2462</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> +</freqband> +<freqband id="H4_2412_2462"> + <freqstart>2412</freqstart> <freqend>2462</freqend> + <chanwidth>40</chanwidth> <chansep>5</chansep> +</freqband> +<freqband id="F1_2412_2472"> + <freqstart>2412</freqstart> <freqend>2472</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> +</freqband> +<freqband id="H4_2412_2472"> + <freqstart>2412</freqstart> <freqend>2472</freqend> + <chanwidth>40</chanwidth> <chansep>5</chansep> +</freqband> +<freqband id="F1_2467_2472"> + <freqstart>2467</freqstart> <freqend>2472</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> +</freqband> +<freqband id="H4_2467_2472"> + <freqstart>2467</freqstart> <freqend>2472</freqend> + <chanwidth>40</chanwidth> <chansep>5</chansep> +</freqband> +<freqband id="F1_2484_2484"> + <freqstart>2484</freqstart> <freqend>2484</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> +</freqband> +<freqband id="F1_2512_2732"> + <freqstart>2512</freqstart> <freqend>2732</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> +</freqband> + +<freqband id="S1_907_922_5"> + <freqstart>907</freqstart> <freqend>922</freqend> + <chanwidth>5</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_GSM</flags> + <flags>IEEE80211_CHAN_QUARTER</flags> +</freqband> +<freqband id="S1_907_922_10"> + <freqstart>907</freqstart> <freqend>922</freqend> + <chanwidth>10</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_GSM</flags> + <flags>IEEE80211_CHAN_HALF</flags> +</freqband> +<freqband id="S1_912_917"> + <freqstart>912</freqstart> <freqend>917</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_GSM</flags> +</freqband> + +<freqband id="S1_908_923_5"> + <freqstart>908</freqstart> <freqend>923</freqend> + <chanwidth>5</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_GSM</flags> + <flags>IEEE80211_CHAN_QUARTER</flags> +</freqband> +<freqband id="S1_913_918_10"> + <freqstart>913</freqstart> <freqend>918</freqend> + <chanwidth>10</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_GSM</flags> + <flags>IEEE80211_CHAN_HALF</flags> +</freqband> +<freqband id="S1_913_918"> + <freqstart>913</freqstart> <freqend>918</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_GSM</flags> +</freqband> + +<freqband id="S1_905_925_5"> + <freqstart>905</freqstart> <freqend>925</freqend> + <chanwidth>5</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_GSM</flags> + <flags>IEEE80211_CHAN_QUARTER</flags> +</freqband> +<freqband id="S1_910_920_10"> + <freqstart>910</freqstart> <freqend>920</freqend> + <chanwidth>10</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_GSM</flags> + <flags>IEEE80211_CHAN_HALF</flags> +</freqband> +<freqband id="S1_915_915"> + <freqstart>915</freqstart> <freqend>915</freqend> + <chanwidth>20</chanwidth> <chansep>5</chansep> + <flags>IEEE80211_CHAN_GSM</flags> +</freqband> + + +</shared-frequency-bands> + +</regulatory-data> diff --git a/lib/libalias/libalias/Makefile b/lib/libalias/libalias/Makefile index 60c59a3ed313..bfbd523aa0b7 100644 --- a/lib/libalias/libalias/Makefile +++ b/lib/libalias/libalias/Makefile @@ -2,6 +2,7 @@ .PATH: ${SRCTOP}/sys/netinet/libalias +CONFS= libalias.conf PACKAGE=lib${LIB} LIB= alias SHLIBDIR?= /lib diff --git a/lib/libalias/libalias/libalias.conf b/lib/libalias/libalias/libalias.conf new file mode 100644 index 000000000000..a938e67aaabd --- /dev/null +++ b/lib/libalias/libalias/libalias.conf @@ -0,0 +1,8 @@ +# $FreeBSD$ +/lib/libalias_cuseeme.so +/lib/libalias_ftp.so +/lib/libalias_irc.so +/lib/libalias_nbt.so +/lib/libalias_pptp.so +/lib/libalias_skinny.so +/lib/libalias_smedia.so diff --git a/lib/libbe/be.c b/lib/libbe/be.c index c1cdd55825fe..2872abed6dec 100644 --- a/lib/libbe/be.c +++ b/lib/libbe/be.c @@ -928,8 +928,9 @@ be_activate(libbe_handle_t *lbh, const char *bootenv, bool temporary) { char be_path[BE_MAXPATHLEN]; char buf[BE_MAXPATHLEN]; - uint64_t pool_guid; nvlist_t *config, *vdevs; + uint64_t pool_guid; + zfs_handle_t *zhp; int err; be_root_concat(lbh, bootenv, be_path); @@ -961,14 +962,19 @@ be_activate(libbe_handle_t *lbh, const char *bootenv, bool temporary) } else { /* Obtain bootenv zpool */ err = zpool_set_prop(lbh->active_phandle, "bootfs", be_path); + if (err) + return (-1); - switch (err) { - case 0: - return (BE_ERR_SUCCESS); + zhp = zfs_open(lbh->lzh, be_path, ZFS_TYPE_FILESYSTEM); + if (zhp == NULL) + return (-1); - default: - /* XXX TODO correct errors */ + err = zfs_promote(zhp); + zfs_close(zhp); + + if (err) return (-1); - } } + + return (BE_ERR_SUCCESS); } diff --git a/lib/libc/Makefile b/lib/libc/Makefile index f82a5b190a22..d6a3598ae314 100644 --- a/lib/libc/Makefile +++ b/lib/libc/Makefile @@ -181,6 +181,12 @@ SUBDIR.${MK_TESTS}+= tests .include <bsd.lib.mk> +.if (${LIBC_ARCH} == amd64 || ${LIBC_ARCH} == i386) && \ + ${.TARGETS:Mall} == all && \ + defined(LINKER_FEATURES) && ${LINKER_FEATURES:Mifunc} == "" +.error ${LIBC_ARCH} libc requires linker ifunc support +.endif + .if !defined(_SKIP_BUILD) # We need libutil.h, get it directly to avoid # recording a build dependency diff --git a/lib/libc/amd64/string/bcmp.S b/lib/libc/amd64/string/bcmp.S index d01b76bc10e5..efdc6d33e4dd 100644 --- a/lib/libc/amd64/string/bcmp.S +++ b/lib/libc/amd64/string/bcmp.S @@ -1,27 +1,121 @@ +/*- + * Copyright (c) 2018 The FreeBSD Foundation + * + * This software was developed by Mateusz Guzik <mjg@FreeBSD.org> + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + #include <machine/asm.h> __FBSDID("$FreeBSD$"); -#if 0 - RCSID("$NetBSD: bcmp.S,v 1.1 2001/06/19 00:25:04 fvdl Exp $") -#endif - ENTRY(bcmp) - cld /* set compare direction forward */ + cmpq $16,%rdx + jae 5f +1: + testq %rdx,%rdx + je 3f + xorl %ecx,%ecx +2: + movzbl (%rdi,%rcx,1),%eax + movzbl (%rsi,%rcx,1),%r8d + cmpb %r8b,%al + jne 4f + addq $1,%rcx + cmpq %rcx,%rdx + jz 3f + movzbl (%rdi,%rcx,1),%eax + movzbl (%rsi,%rcx,1),%r8d + cmpb %r8b,%al + jne 4f + addq $1,%rcx + cmpq %rcx,%rdx + jz 3f + movzbl (%rdi,%rcx,1),%eax + movzbl (%rsi,%rcx,1),%r8d + cmpb %r8b,%al + jne 4f + addq $1,%rcx + cmpq %rcx,%rdx + jz 3f + movzbl (%rdi,%rcx,1),%eax + movzbl (%rsi,%rcx,1),%r8d + cmpb %r8b,%al + jne 4f + addq $1,%rcx + cmpq %rcx,%rdx + jne 2b +3: + xorl %eax,%eax + ret +4: + movl $1,%eax + ret +5: + cmpq $32,%rdx + jae 7f +6: + /* + * 8 bytes + */ + movq (%rdi),%r8 + movq (%rsi),%r9 + cmpq %r8,%r9 + jne 4b + leaq 8(%rdi),%rdi + leaq 8(%rsi),%rsi + subq $8,%rdx + cmpq $8,%rdx + jae 6b + jl 1b + jmp 3b +7: + /* + * 32 bytes + */ + movq (%rsi),%r8 + movq 8(%rsi),%r9 + subq (%rdi),%r8 + subq 8(%rdi),%r9 + or %r8,%r9 + jnz 4b - movq %rdx,%rcx /* compare by words */ - shrq $3,%rcx - repe - cmpsq - jne L1 + movq 16(%rsi),%r8 + movq 24(%rsi),%r9 + subq 16(%rdi),%r8 + subq 24(%rdi),%r9 + or %r8,%r9 + jnz 4b - movq %rdx,%rcx /* compare remainder by bytes */ - andq $7,%rcx - repe - cmpsb -L1: - setne %al - movsbl %al,%eax - ret + leaq 32(%rdi),%rdi + leaq 32(%rsi),%rsi + subq $32,%rdx + cmpq $32,%rdx + jae 7b + jnz 1b + jmp 3b END(bcmp) .section .note.GNU-stack,"",%progbits diff --git a/lib/libc/amd64/string/bcopy.S b/lib/libc/amd64/string/bcopy.S index cc38f4755254..9446e75b8053 100644 --- a/lib/libc/amd64/string/bcopy.S +++ b/lib/libc/amd64/string/bcopy.S @@ -60,12 +60,14 @@ ENTRY(bcopy) subq %rsi,%r8 cmpq %rcx,%r8 /* overlapping? */ jb 1f - cld /* nope, copy forwards. */ shrq $3,%rcx /* copy by words */ rep movsq movq %rdx,%rcx andq $7,%rcx /* any bytes left? */ + jne 2f + ret +2: rep movsb ret @@ -73,11 +75,13 @@ ENTRY(bcopy) addq %rcx,%rdi /* copy backwards. */ addq %rcx,%rsi std - andq $7,%rcx /* any fractional bytes? */ decq %rdi decq %rsi + andq $7,%rcx /* any fractional bytes? */ + je 3f rep movsb +3: movq %rdx,%rcx /* copy remainder by words */ shrq $3,%rcx subq $7,%rsi diff --git a/lib/libc/amd64/string/bzero.S b/lib/libc/amd64/string/bzero.S index cf46a2a317b7..123d9c4a7efb 100644 --- a/lib/libc/amd64/string/bzero.S +++ b/lib/libc/amd64/string/bzero.S @@ -1,46 +1,7 @@ -/* - * Written by J.T. Conklin <jtc@NetBSD.org>. - * Public domain. - * Adapted for NetBSD/x86_64 by Frank van der Linden <fvdl@wasabisystems.com> - */ +/* $FreeBSD */ #include <machine/asm.h> __FBSDID("$FreeBSD$"); -#if 0 - RCSID("$NetBSD: bzero.S,v 1.2 2003/07/26 19:24:38 salo Exp $") -#endif - -ENTRY(bzero) - cld /* set fill direction forward */ - xorq %rax,%rax /* set fill data to 0 */ - - /* - * if the string is too short, it's really not worth the overhead - * of aligning to word boundries, etc. So we jump to a plain - * unaligned set. - */ - cmpq $16,%rsi - jb L1 - - movq %rdi,%rcx /* compute misalignment */ - negq %rcx - andq $7,%rcx - subq %rcx,%rsi - rep /* zero until word aligned */ - stosb - - movq %rsi,%rcx /* zero by words */ - shrq $3,%rcx - andq $7,%rsi - rep - stosq - -L1: movq %rsi,%rcx /* zero remainder by bytes */ - rep - stosb - - ret -END(bzero) - - .section .note.GNU-stack,"",%progbits +#define BZERO +#include "memset.S" diff --git a/lib/libc/amd64/string/memcmp.S b/lib/libc/amd64/string/memcmp.S index 66d64a0b5a48..3012ffa688c2 100644 --- a/lib/libc/amd64/string/memcmp.S +++ b/lib/libc/amd64/string/memcmp.S @@ -1,44 +1,121 @@ -/* - * Written by J.T. Conklin <jtc@NetBSD.org>. - * Public domain. - * Adapted for NetBSD/x86_64 by Frank van der Linden <fvdl@wasabisystems.com> +/*- + * Copyright (c) 2018 The FreeBSD Foundation + * + * This software was developed by Mateusz Guzik <mjg@FreeBSD.org> + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ */ #include <machine/asm.h> __FBSDID("$FreeBSD$"); -#if 0 - RCSID("$NetBSD: memcmp.S,v 1.2 2003/07/26 19:24:39 salo Exp $") -#endif - ENTRY(memcmp) - cld /* set compare direction forward */ - movq %rdx,%rcx /* compare by longs */ - shrq $3,%rcx - repe - cmpsq - jne L5 /* do we match so far? */ - - movq %rdx,%rcx /* compare remainder by bytes */ - andq $7,%rcx - repe - cmpsb - jne L6 /* do we match? */ - - xorl %eax,%eax /* we match, return zero */ + cmpq $16,%rdx + jae 5f +1: + testq %rdx,%rdx + je 3f + xorl %ecx,%ecx +2: + movzbl (%rdi,%rcx,1),%eax + movzbl (%rsi,%rcx,1),%r8d + cmpb %r8b,%al + jne 4f + addq $1,%rcx + cmpq %rcx,%rdx + jz 3f + movzbl (%rdi,%rcx,1),%eax + movzbl (%rsi,%rcx,1),%r8d + cmpb %r8b,%al + jne 4f + addq $1,%rcx + cmpq %rcx,%rdx + jz 3f + movzbl (%rdi,%rcx,1),%eax + movzbl (%rsi,%rcx,1),%r8d + cmpb %r8b,%al + jne 4f + addq $1,%rcx + cmpq %rcx,%rdx + jz 3f + movzbl (%rdi,%rcx,1),%eax + movzbl (%rsi,%rcx,1),%r8d + cmpb %r8b,%al + jne 4f + addq $1,%rcx + cmpq %rcx,%rdx + jne 2b +3: + xorl %eax,%eax ret - -L5: movl $8,%ecx /* We know that one of the next */ - subq %rcx,%rdi /* eight pairs of bytes do not */ - subq %rcx,%rsi /* match. */ - repe - cmpsb -L6: xorl %eax,%eax /* Perform unsigned comparison */ - movb -1(%rdi),%al - xorl %edx,%edx - movb -1(%rsi),%dl - subl %edx,%eax +4: + subl %r8d,%eax ret +5: + cmpq $32,%rdx + jae 7f +6: + /* + * 8 bytes + */ + movq (%rdi),%r8 + movq (%rsi),%r9 + cmpq %r8,%r9 + jne 1b + leaq 8(%rdi),%rdi + leaq 8(%rsi),%rsi + subq $8,%rdx + cmpq $8,%rdx + jae 6b + jl 1b + jmp 3b +7: + /* + * 32 bytes + */ + movq (%rsi),%r8 + movq 8(%rsi),%r9 + subq (%rdi),%r8 + subq 8(%rdi),%r9 + or %r8,%r9 + jnz 1b + + movq 16(%rsi),%r8 + movq 24(%rsi),%r9 + subq 16(%rdi),%r8 + subq 24(%rdi),%r9 + or %r8,%r9 + jnz 1b + + leaq 32(%rdi),%rdi + leaq 32(%rsi),%rsi + subq $32,%rdx + cmpq $32,%rdx + jae 7b + jnz 1b + jmp 3b END(memcmp) .section .note.GNU-stack,"",%progbits diff --git a/lib/libc/amd64/string/memset.S b/lib/libc/amd64/string/memset.S index 84d15628766a..06c9869c2d6c 100644 --- a/lib/libc/amd64/string/memset.S +++ b/lib/libc/amd64/string/memset.S @@ -1,63 +1,77 @@ -/* - * Written by J.T. Conklin <jtc@NetBSD.org>. - * Public domain. - * Adapted for NetBSD/x86_64 by Frank van der Linden <fvdl@wasabisystems.com> +/*- + * Copyright (c) 2018 The FreeBSD Foundation + * + * This software was developed by Mateusz Guzik <mjg@FreeBSD.org> + * under sponsorship from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ */ #include <machine/asm.h> __FBSDID("$FreeBSD$"); -#if 0 - RCSID("$NetBSD: memset.S,v 1.3 2004/02/26 20:50:06 drochner Exp $") -#endif - -ENTRY(memset) - movq %rsi,%rax - andq $0xff,%rax +.macro MEMSET bzero +.if \bzero == 1 + movq %rsi,%rcx + movq %rsi,%rdx + xorl %eax,%eax +.else + movq %rdi,%r9 movq %rdx,%rcx - movq %rdi,%r11 - - cld /* set fill direction forward */ - - /* - * if the string is too short, it's really not worth the overhead - * of aligning to word boundries, etc. So we jump to a plain - * unaligned set. - */ - cmpq $0x0f,%rcx - jle L1 - - movb %al,%ah /* copy char to all bytes in word */ - movl %eax,%edx - sall $16,%eax - orl %edx,%eax - - movl %eax,%edx - salq $32,%rax - orq %rdx,%rax - - movq %rdi,%rdx /* compute misalignment */ - negq %rdx - andq $7,%rdx - movq %rcx,%r8 - subq %rdx,%r8 - - movq %rdx,%rcx /* set until word aligned */ - rep - stosb - - movq %r8,%rcx - shrq $3,%rcx /* set by words */ + movzbq %sil,%r8 + movabs $0x0101010101010101,%rax + imulq %r8,%rax +.endif + cmpq $15,%rcx + jbe 1f + shrq $3,%rcx rep stosq - - movq %r8,%rcx /* set remainder by bytes */ + movq %rdx,%rcx andq $7,%rcx -L1: rep + jne 1f +.if \bzero == 0 + movq %r9,%rax +.endif + ret +1: + rep stosb - movq %r11,%rax - +.if \bzero == 0 + movq %r9,%rax +.endif ret +.endm + +#ifndef BZERO +ENTRY(memset) + MEMSET bzero=0 END(memset) +#else +ENTRY(bzero) + MEMSET bzero=1 +END(bzero) +#endif .section .note.GNU-stack,"",%progbits diff --git a/lib/libc/i386/string/bcopy.S b/lib/libc/i386/string/bcopy.S index 89576f379d6a..4c653d744f15 100644 --- a/lib/libc/i386/string/bcopy.S +++ b/lib/libc/i386/string/bcopy.S @@ -64,7 +64,7 @@ ENTRY(bcopy) movl %edi,%edx subl %esi,%edx cmpl %ecx,%edx /* overlapping? */ - jb 1f + jb 2f cld /* nope, copy forwards. */ movl %ecx,%edx shrl $2,%ecx /* copy by words */ @@ -72,21 +72,28 @@ ENTRY(bcopy) movsl movl %edx,%ecx andl $3,%ecx /* any bytes left? */ + jne 1f + popl %edi + popl %esi + ret +1: rep movsb popl %edi popl %esi ret -1: +2: addl %ecx,%edi /* copy backwards. */ addl %ecx,%esi std movl %ecx,%edx - andl $3,%ecx /* any fractional bytes? */ decl %edi decl %esi + andl $3,%ecx /* any fractional bytes? */ + je 3f rep movsb +3: movl %edx,%ecx /* copy remainder by words */ shrl $2,%ecx subl $3,%esi diff --git a/lib/libc/net/Makefile.inc b/lib/libc/net/Makefile.inc index 304c465b8545..b31c1a36fcfe 100644 --- a/lib/libc/net/Makefile.inc +++ b/lib/libc/net/Makefile.inc @@ -4,6 +4,7 @@ # machine-independent net sources .PATH: ${LIBC_SRCTOP}/net +CONFS+= net/hosts net/hosts.equiv net/networks net/nsswitch.conf net/protocols SRCS+= base64.c ether_addr.c eui64.c \ gai_strerror.c getaddrinfo.c \ gethostbydns.c gethostbyht.c gethostbynis.c gethostnamadr.c \ @@ -123,3 +124,8 @@ SRCS+= hesiod.c MAN+= hesiod.3 .endif +.if ${MK_NIS} == "no" +afterinstallconfig: + sed -i "" -e 's/.*_compat:/# &/' -e 's/compat$$/files/' \ + ${DESTDIR}/etc/nsswitch.conf +.endif diff --git a/lib/libc/net/hosts b/lib/libc/net/hosts new file mode 100644 index 000000000000..2690a9ad48e1 --- /dev/null +++ b/lib/libc/net/hosts @@ -0,0 +1,31 @@ +# $FreeBSD$ +# +# Host Database +# +# This file should contain the addresses and aliases for local hosts that +# share this file. Replace 'my.domain' below with the domainname of your +# machine. +# +# In the presence of the domain name service or NIS, this file may +# not be consulted at all; see /etc/nsswitch.conf for the resolution order. +# +# +::1 localhost localhost.my.domain +127.0.0.1 localhost localhost.my.domain +# +# Imaginary network. +#10.0.0.2 myname.my.domain myname +#10.0.0.3 myfriend.my.domain myfriend +# +# According to RFC 1918, you can use the following IP networks for +# private nets which will never be connected to the Internet: +# +# 10.0.0.0 - 10.255.255.255 +# 172.16.0.0 - 172.31.255.255 +# 192.168.0.0 - 192.168.255.255 +# +# In case you want to be able to connect to the Internet, you need +# real official assigned numbers. Do not try to invent your own network +# numbers but instead get one from your network provider (if any) or +# from your regional registry (ARIN, APNIC, LACNIC, RIPE NCC, or AfriNIC.) +# diff --git a/lib/libc/net/hosts.equiv b/lib/libc/net/hosts.equiv new file mode 100644 index 000000000000..d8a71c1ebc7f --- /dev/null +++ b/lib/libc/net/hosts.equiv @@ -0,0 +1,4 @@ +# $FreeBSD$ +# +#localhost +#my_very_good_friend.domain diff --git a/lib/libc/net/networks b/lib/libc/net/networks new file mode 100644 index 000000000000..a6b15d4519b7 --- /dev/null +++ b/lib/libc/net/networks @@ -0,0 +1,17 @@ +# $FreeBSD$ +# @(#)networks 5.1 (Berkeley) 6/30/90 +# +# Your Local Networks Database +# +your-net 127 # your comment +your-netmask 255.255.255 # subnet mask for your-net + +# +# Your subnets +# +subnet1 127.0.1 alias1 # comment 1 +subnet2 127.0.2 alias2 # comment 2 + +# +# Internet networks (from nic.ddn.mil) +# diff --git a/lib/libc/net/nsswitch.conf b/lib/libc/net/nsswitch.conf new file mode 100644 index 000000000000..e0f14af76f2d --- /dev/null +++ b/lib/libc/net/nsswitch.conf @@ -0,0 +1,16 @@ +# +# nsswitch.conf(5) - name service switch configuration file +# $FreeBSD$ +# +group: compat +group_compat: nis +hosts: files dns +netgroup: compat +networks: files +passwd: compat +passwd_compat: nis +shells: files +services: compat +services_compat: nis +protocols: files +rpc: files diff --git a/lib/libc/net/protocols b/lib/libc/net/protocols new file mode 100644 index 000000000000..05702d430da1 --- /dev/null +++ b/lib/libc/net/protocols @@ -0,0 +1,158 @@ +# +# Internet protocols +# +# $FreeBSD$ +# from: @(#)protocols 5.1 (Berkeley) 4/17/89 +# +# See also http://www.iana.org/assignments/protocol-numbers +# +ip 0 IP # internet protocol, pseudo protocol number +#hopopt 0 HOPOPT # hop-by-hop options for ipv6 +icmp 1 ICMP # internet control message protocol +igmp 2 IGMP # internet group management protocol +ggp 3 GGP # gateway-gateway protocol +ipencap 4 IP-ENCAP # IP encapsulated in IP (officially ``IP'') +st2 5 ST2 # ST2 datagram mode (RFC 1819) (officially ``ST'') +tcp 6 TCP # transmission control protocol +cbt 7 CBT # CBT, Tony Ballardie <A.Ballardie@cs.ucl.ac.uk> +egp 8 EGP # exterior gateway protocol +igp 9 IGP # any private interior gateway (Cisco: for IGRP) +bbn-rcc 10 BBN-RCC-MON # BBN RCC Monitoring +nvp 11 NVP-II # Network Voice Protocol +pup 12 PUP # PARC universal packet protocol +argus 13 ARGUS # ARGUS +emcon 14 EMCON # EMCON +xnet 15 XNET # Cross Net Debugger +chaos 16 CHAOS # Chaos +udp 17 UDP # user datagram protocol +mux 18 MUX # Multiplexing protocol +dcn 19 DCN-MEAS # DCN Measurement Subsystems +hmp 20 HMP # host monitoring protocol +prm 21 PRM # packet radio measurement protocol +xns-idp 22 XNS-IDP # Xerox NS IDP +trunk-1 23 TRUNK-1 # Trunk-1 +trunk-2 24 TRUNK-2 # Trunk-2 +leaf-1 25 LEAF-1 # Leaf-1 +leaf-2 26 LEAF-2 # Leaf-2 +rdp 27 RDP # "reliable datagram" protocol +irtp 28 IRTP # Internet Reliable Transaction Protocol +iso-tp4 29 ISO-TP4 # ISO Transport Protocol Class 4 +netblt 30 NETBLT # Bulk Data Transfer Protocol +mfe-nsp 31 MFE-NSP # MFE Network Services Protocol +merit-inp 32 MERIT-INP # MERIT Internodal Protocol +dccp 33 DCCP # Datagram Congestion Control Protocol +3pc 34 3PC # Third Party Connect Protocol +idpr 35 IDPR # Inter-Domain Policy Routing Protocol +xtp 36 XTP # Xpress Transfer Protocol +ddp 37 DDP # Datagram Delivery Protocol +idpr-cmtp 38 IDPR-CMTP # IDPR Control Message Transport Proto +tp++ 39 TP++ # TP++ Transport Protocol +il 40 IL # IL Transport Protocol +ipv6 41 IPV6 # ipv6 +sdrp 42 SDRP # Source Demand Routing Protocol +ipv6-route 43 IPV6-ROUTE # routing header for ipv6 +ipv6-frag 44 IPV6-FRAG # fragment header for ipv6 +idrp 45 IDRP # Inter-Domain Routing Protocol +rsvp 46 RSVP # Resource ReSerVation Protocol +gre 47 GRE # Generic Routing Encapsulation +dsr 48 DSR # Dynamic Source Routing Protocol +bna 49 BNA # BNA +esp 50 ESP # encapsulating security payload +ah 51 AH # authentication header +i-nlsp 52 I-NLSP # Integrated Net Layer Security TUBA +swipe 53 SWIPE # IP with Encryption +narp 54 NARP # NBMA Address Resolution Protocol +mobile 55 MOBILE # IP Mobility +tlsp 56 TLSP # Transport Layer Security Protocol +skip 57 SKIP # SKIP +ipv6-icmp 58 IPV6-ICMP icmp6 # ICMP for IPv6 +ipv6-nonxt 59 IPV6-NONXT # no next header for ipv6 +ipv6-opts 60 IPV6-OPTS # destination options for ipv6 +# 61 # any host internal protocol +cftp 62 CFTP # CFTP +# 63 # any local network +sat-expak 64 SAT-EXPAK # SATNET and Backroom EXPAK +kryptolan 65 KRYPTOLAN # Kryptolan +rvd 66 RVD # MIT Remote Virtual Disk Protocol +ippc 67 IPPC # Internet Pluribus Packet Core +# 68 # any distributed filesystem +sat-mon 69 SAT-MON # SATNET Monitoring +visa 70 VISA # VISA Protocol +ipcv 71 IPCV # Internet Packet Core Utility +cpnx 72 CPNX # Computer Protocol Network Executive +cphb 73 CPHB # Computer Protocol Heart Beat +wsn 74 WSN # Wang Span Network +pvp 75 PVP # Packet Video Protocol +br-sat-mon 76 BR-SAT-MON # Backroom SATNET Monitoring +sun-nd 77 SUN-ND # SUN ND PROTOCOL-Temporary +wb-mon 78 WB-MON # WIDEBAND Monitoring +wb-expak 79 WB-EXPAK # WIDEBAND EXPAK +iso-ip 80 ISO-IP # ISO Internet Protocol +vmtp 81 VMTP # Versatile Message Transport +secure-vmtp 82 SECURE-VMTP # SECURE-VMTP +vines 83 VINES # VINES +ttp 84 TTP # TTP +#iptm 84 IPTM # Protocol Internet Protocol Traffic +nsfnet-igp 85 NSFNET-IGP # NSFNET-IGP +dgp 86 DGP # Dissimilar Gateway Protocol +tcf 87 TCF # TCF +eigrp 88 EIGRP # Enhanced Interior Routing Protocol (Cisco) +ospf 89 OSPFIGP # Open Shortest Path First IGP +sprite-rpc 90 Sprite-RPC # Sprite RPC Protocol +larp 91 LARP # Locus Address Resolution Protocol +mtp 92 MTP # Multicast Transport Protocol +ax.25 93 AX.25 # AX.25 Frames +ipip 94 IPIP # Yet Another IP encapsulation +micp 95 MICP # Mobile Internetworking Control Pro. +scc-sp 96 SCC-SP # Semaphore Communications Sec. Pro. +etherip 97 ETHERIP # Ethernet-within-IP Encapsulation +encap 98 ENCAP # Yet Another IP encapsulation +# 99 # any private encryption scheme +gmtp 100 GMTP # GMTP +ifmp 101 IFMP # Ipsilon Flow Management Protocol +pnni 102 PNNI # PNNI over IP +pim 103 PIM # Protocol Independent Multicast +aris 104 ARIS # ARIS +scps 105 SCPS # SCPS +qnx 106 QNX # QNX +a/n 107 A/N # Active Networks +ipcomp 108 IPComp # IP Payload Compression Protocol +snp 109 SNP # Sitara Networks Protocol +compaq-peer 110 Compaq-Peer # Compaq Peer Protocol +ipx-in-ip 111 IPX-in-IP # IPX in IP +carp 112 CARP vrrp # Common Address Redundancy Protocol +pgm 113 PGM # PGM Reliable Transport Protocol +# 114 # any 0-hop protocol +l2tp 115 L2TP # Layer Two Tunneling Protocol +ddx 116 DDX # D-II Data Exchange +iatp 117 IATP # Interactive Agent Transfer Protocol +stp 118 STP # Schedule Transfer Protocol +srp 119 SRP # SpectraLink Radio Protocol +uti 120 UTI # UTI +smp 121 SMP # Simple Message Protocol +sm 122 SM # SM +ptp 123 PTP # Performance Transparency Protocol +isis 124 ISIS # ISIS over IPv4 +fire 125 FIRE +crtp 126 CRTP # Combat Radio Transport Protocol +crudp 127 CRUDP # Combat Radio User Datagram +sscopmce 128 SSCOPMCE +iplt 129 IPLT +sps 130 SPS # Secure Packet Shield +pipe 131 PIPE # Private IP Encapsulation within IP +sctp 132 SCTP # Stream Control Transmission Protocol +fc 133 FC # Fibre Channel +rsvp-e2e-ignore 134 RSVP-E2E-IGNORE # Aggregation of RSVP for IP reservations +mobility-header 135 Mobility-Header # Mobility Support in IPv6 +udplite 136 UDPLite # The UDP-Lite Protocol +mpls-in-ip 137 MPLS-IN-IP # Encapsulating MPLS in IP +manet 138 MANET # MANET Protocols (RFC5498) +hip 139 HIP # Host Identity Protocol (RFC5201) +shim6 140 SHIM6 # Shim6 Protocol (RFC5533) +wesp 141 WESP # Wrapped Encapsulating Security Payload (RFC5840) +rohc 142 ROHC # Robust Header Compression (RFC5858) +# 138-254 # Unassigned +pfsync 240 PFSYNC # PF Synchronization +# 253-254 # Use for experimentation and testing (RFC3692) +# 255 # Reserved +divert 258 DIVERT # Divert pseudo-protocol [non IANA] diff --git a/lib/libc/posix1e/Makefile.inc b/lib/libc/posix1e/Makefile.inc index 151f85068204..fb5cf6e39cc6 100644 --- a/lib/libc/posix1e/Makefile.inc +++ b/lib/libc/posix1e/Makefile.inc @@ -8,6 +8,7 @@ CFLAGS+=-D_ACL_PRIVATE subr_acl_nfs4.c: ${SRCTOP}/sys/kern/subr_acl_nfs4.c cat ${.ALLSRC} > ${.TARGET} +CONFS+= posix1e/mac.conf SRCS+= acl_branding.c \ acl_calc_mask.c \ acl_copy.c \ diff --git a/lib/libc/posix1e/mac.conf b/lib/libc/posix1e/mac.conf new file mode 100644 index 000000000000..36f3a6a57b1f --- /dev/null +++ b/lib/libc/posix1e/mac.conf @@ -0,0 +1,18 @@ +# +# $FreeBSD$ +# +# TrustedBSD MAC userland policy configuration file. Kernel modules +# export label information, and mac.conf indicates to userland +# applications what defaults they should use in the absence of any +# other user-provided information. +# + +# +# Default label set to be used by simple MAC applications +# + +default_labels file ?biba,?lomac,?mls,?sebsd +default_labels ifnet ?biba,?lomac,?mls,?sebsd +default_labels process ?biba,?lomac,?mls,?partition,?sebsd +default_labels socket ?biba,?lomac,?mls + diff --git a/lib/libc/rpc/Makefile.inc b/lib/libc/rpc/Makefile.inc index c3e5502d68df..5ca9bd3757c0 100644 --- a/lib/libc/rpc/Makefile.inc +++ b/lib/libc/rpc/Makefile.inc @@ -2,6 +2,7 @@ # $FreeBSD$ .PATH: ${LIBC_SRCTOP}/rpc ${LIBC_SRCTOP}/. +CONFS+= rpc/netconfig rpc/rpc SRCS+= auth_none.c auth_unix.c authunix_prot.c bindresvport.c clnt_bcast.c \ clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \ clnt_vc.c rpc_dtablesize.c getnetconfig.c getnetpath.c getrpcent.c \ diff --git a/lib/libc/rpc/netconfig b/lib/libc/rpc/netconfig new file mode 100644 index 000000000000..109f2e36ad43 --- /dev/null +++ b/lib/libc/rpc/netconfig @@ -0,0 +1,19 @@ +# $FreeBSD$ +# +# The network configuration file. This file is currently only used in +# conjunction with the (TI-) RPC code in the C library, unlike its +# use in SVR4. +# +# Entries consist of: +# +# <network_id> <semantics> <flags> <protofamily> <protoname> \ +# <device> <nametoaddr_libs> +# +# The <device> and <nametoaddr_libs> fields are always empty in FreeBSD. +# +udp6 tpi_clts v inet6 udp - - +tcp6 tpi_cots_ord v inet6 tcp - - +udp tpi_clts v inet udp - - +tcp tpi_cots_ord v inet tcp - - +rawip tpi_raw - inet - - - +local tpi_cots_ord - loopback - - - diff --git a/lib/libc/rpc/rpc b/lib/libc/rpc/rpc new file mode 100644 index 000000000000..935ea2f1b592 --- /dev/null +++ b/lib/libc/rpc/rpc @@ -0,0 +1,68 @@ +# +# $FreeBSD$ +# rpc 88/08/01 4.0 RPCSRC; from 1.12 99/07/25 SMI +# +rpcbind 100000 portmap sunrpc rpcbind +rstatd 100001 rstat rstat_svc rup perfmeter +rusersd 100002 rusers +nfs 100003 nfsprog +ypserv 100004 ypprog +mountd 100005 mount showmount +ypbind 100007 +walld 100008 rwall shutdown +yppasswdd 100009 yppasswd +etherstatd 100010 etherstat +rquotad 100011 rquotaprog quota rquota +sprayd 100012 spray +3270_mapper 100013 +rje_mapper 100014 +selection_svc 100015 selnsvc +database_svc 100016 +rexd 100017 rex +alis 100018 +sched 100019 +llockmgr 100020 +nlockmgr 100021 +x25.inr 100022 +statmon 100023 +status 100024 +bootparamd 100026 bootparam +ypupdated 100028 ypupdate +keyserv 100029 keyserver +sunlink_mapper 100033 +tfsd 100037 +nsed 100038 +nsemntd 100039 +showfhd 100043 showfh +ioadmd 100055 rpc.ioadmd +NETlicense 100062 +sunisamd 100065 +debug_svc 100066 dbsrv +cmsd 100068 +bugtraqd 100071 +kerbd 100078 +ttdbserver 100083 tooltalk +event 100101 na.event # SunNet Manager +logger 100102 na.logger # SunNet Manager +sync 100104 na.sync +hostperf 100107 na.hostperf +activity 100109 na.activity # SunNet Manager +hostmem 100112 na.hostmem +sample 100113 na.sample +x25 100114 na.x25 +ping 100115 na.ping +rpcnfs 100116 na.rpcnfs +hostif 100117 na.hostif +etherif 100118 na.etherif +iproutes 100120 na.iproutes +layers 100121 na.layers +snmp 100122 na.snmp snmp-cmc snmp-synoptics snmp-unisys snmp-utk +traffic 100123 na.traffic +nfs_acl 100227 +sadmind 100232 +nisd 100300 rpc.nisd +nispasswd 100303 rpc.nispasswdd +ufsd 100233 +pcnfsd 150001 pcnfs +amd 300019 +sgi_fam 391002 # file alteration monitor diff --git a/lib/libopie/Makefile b/lib/libopie/Makefile index 4507d252ea9a..2dda575e94ef 100644 --- a/lib/libopie/Makefile +++ b/lib/libopie/Makefile @@ -2,6 +2,9 @@ # # $FreeBSD$ # + +CONFS= opieaccess +CONFSMODE= 600 PACKAGE=lib${LIB} OPIE_DIST?= ${SRCTOP}/contrib/opie DIST_DIR= ${OPIE_DIST}/${.CURDIR:T} diff --git a/lib/libopie/opieaccess b/lib/libopie/opieaccess new file mode 100644 index 000000000000..ed57ef13a33a --- /dev/null +++ b/lib/libopie/opieaccess @@ -0,0 +1,13 @@ +# $FreeBSD$ +# +# This file controls whether UNIX passwords are to be permitted. Rules +# are matched in order, and the search terminates when the first matching +# rule has been found. Default action is "deny". See opieaccess(5) for +# more information. +# +# Each rule has the form: +# +# permit address netmask +# deny address netmask +# +#permit 127.0.0.1 255.255.255.255 diff --git a/lib/libpmc/Makefile b/lib/libpmc/Makefile index 48e94a2a078c..f40ba3b28271 100644 --- a/lib/libpmc/Makefile +++ b/lib/libpmc/Makefile @@ -7,7 +7,7 @@ SRCS= libpmc.c pmclog.c libpmc_pmu_util.c libpmc_json.cc INCS= pmc.h pmclog.h pmcformat.h CFLAGS+= -I${.CURDIR} -CWARNFLAGS.gcc+= -Wno-shadow +CWARNFLAGS.gcc+= -Wno-shadow -Wno-cast-align .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" diff --git a/lib/libpmc/libpmc_pmu_util.c b/lib/libpmc/libpmc_pmu_util.c index 7aaf6f2a5b18..583a2d36bc74 100644 --- a/lib/libpmc/libpmc_pmu_util.c +++ b/lib/libpmc/libpmc_pmu_util.c @@ -237,6 +237,7 @@ pmu_parse_event(struct pmu_event_desc *ped, const char *eventin) return (ENOMEM); r = event; bzero(ped, sizeof(*ped)); + ped->ped_period = DEFAULT_SAMPLE_COUNT; ped->ped_umask = -1; while ((kvp = strsep(&event, ",")) != NULL) { key = strsep(&kvp, "="); diff --git a/lib/libsmb/Makefile b/lib/libsmb/Makefile index 519db5ff9465..3c310819f876 100644 --- a/lib/libsmb/Makefile +++ b/lib/libsmb/Makefile @@ -2,6 +2,8 @@ .include <src.opts.mk> +CONFS= nsmb.conf +CONFSMODE= 600 PACKAGE=lib${LIB} CONTRIBDIR= ${SRCTOP}/contrib/smbfs .PATH: ${CONTRIBDIR}/lib/smb diff --git a/lib/libsmb/nsmb.conf b/lib/libsmb/nsmb.conf new file mode 100644 index 000000000000..531d0941001d --- /dev/null +++ b/lib/libsmb/nsmb.conf @@ -0,0 +1,56 @@ +# $FreeBSD$ +# +# smbfs lookups configuration files in next order: +# 1. ~/.nsmbrc +# 2. /etc/nsmb.conf - if this file found it will +# override values with same keys from user files. +# +# +# This file consist from a set of sections. Each section started by section name +# surrounded with square brackets: +# [section_name] +# +# End of the section marked either by new section or by the end of file. +# Each section can contain zero or more parameters: +# [section_name] +# key=value +# +# where 'key' represents parameter name and 'value' a value assigned +# to this parameter. +# +# SMB library uses next forms of section names (please note that the section +# name should be in upper case when it refers to server, user or share): +# A) [default] +# B) [SERVER] +# C) [SERVER:USER] +# D) [SERVER:USER:SHARE] +# +# Here is the map of possible keywords: +# +# keyword/section A B C D Comment +# +# addr - + - - IP address of SMB server +# charsets + + + + local:remote charset pair +# nbns + + - - address of NetBIOS name server (WINS) +# nbscope + + - - NetBIOS scope +# nbtimeout + + - - timeout for NetBIOS name servers +# password - - + + a plain text password used to access to the given share +# retry_count + + - - number of retries before connection marked as broken +# timeout + + - - SMB request timeout +# workgroup + + + + name of workgroup +# + +# A simple configuration example: + +# First, define a workgroup. +#[default] +#workgroup=SALES + +# The 'FSERVER' is an NT server. +#[FSERVER] +#charsets=koi8-r:cp866 +#addr=fserv.coolcorp.com + +#[FSERVER:JOE] +# use persistent password cache for user 'joe' +#password=$$1767877DF diff --git a/lib/libusb/libusb10.h b/lib/libusb/libusb10.h index 7c34f895b0aa..c3deb562c6d4 100644 --- a/lib/libusb/libusb10.h +++ b/lib/libusb/libusb10.h @@ -41,22 +41,24 @@ #define HOTPLUG_LOCK(ctx) pthread_mutex_lock(&(ctx)->hotplug_lock) #define HOTPLUG_UNLOCK(ctx) pthread_mutex_unlock(&(ctx)->hotplug_lock) -#define DPRINTF(ctx, dbg, format, args...) do { \ - if ((ctx)->debug == dbg) { \ - switch (dbg) { \ - case LIBUSB_DEBUG_FUNCTION: \ - printf("LIBUSB_FUNCTION: " \ - format "\n", ## args); \ - break; \ - case LIBUSB_DEBUG_TRANSFER: \ - printf("LIBUSB_TRANSFER: " \ - format "\n", ## args); \ - break; \ - default: \ - break; \ - } \ - } \ -} while(0) +#define DPRINTF(ctx, dbg, format, ...) do { \ + switch (dbg) { \ + case LIBUSB_DEBUG_FUNCTION: \ + if ((ctx)->debug & LIBUSB_DEBUG_FUNCTION) { \ + printf("LIBUSB_FUNCTION: " \ + format "\n", ## __VA_ARGS__); \ + } \ + break; \ + case LIBUSB_DEBUG_TRANSFER: \ + if ((ctx)->debug & LIBUSB_DEBUG_TRANSFER) { \ + printf("LIBUSB_TRANSFER: " \ + format "\n", ## __VA_ARGS__); \ + } \ + break; \ + default: \ + break; \ + } \ +} while (0) /* internal structures */ diff --git a/lib/libusb/libusb10_io.c b/lib/libusb/libusb10_io.c index 42fbd0e2e30b..53f5b040436d 100644 --- a/lib/libusb/libusb10_io.c +++ b/lib/libusb/libusb10_io.c @@ -312,6 +312,9 @@ libusb_wait_for_event(libusb_context *ctx, struct timeval *tv) if (tv == NULL) { pthread_cond_wait(&ctx->ctx_cond, &ctx->ctx_lock); + /* try to grab polling of actual events, if any */ + if (ctx->ctx_handler == NO_THREAD) + ctx->ctx_handler = pthread_self(); return (0); } err = clock_gettime(CLOCK_MONOTONIC, &ts); @@ -330,6 +333,9 @@ libusb_wait_for_event(libusb_context *ctx, struct timeval *tv) } err = pthread_cond_timedwait(&ctx->ctx_cond, &ctx->ctx_lock, &ts); + /* try to grab polling of actual events, if any */ + if (ctx->ctx_handler == NO_THREAD) + ctx->ctx_handler = pthread_self(); if (err == ETIMEDOUT) return (1); @@ -489,13 +495,26 @@ libusb_control_transfer(libusb_device_handle *devh, return (actlen); } +static libusb_context * +libusb10_get_context_by_device_handle(libusb_device_handle *devh) +{ + libusb_context *ctx; + + if (devh != NULL) + ctx = libusb_get_device(devh)->ctx; + else + ctx = NULL; + + return (GET_CONTEXT(ctx)); +} + static void libusb10_do_transfer_cb(struct libusb_transfer *transfer) { libusb_context *ctx; int *pdone; - ctx = GET_CONTEXT(NULL); + ctx = libusb10_get_context_by_device_handle(transfer->dev_handle); DPRINTF(ctx, LIBUSB_DEBUG_TRANSFER, "sync I/O done"); @@ -585,7 +604,8 @@ libusb_bulk_transfer(libusb_device_handle *devh, libusb_context *ctx; int ret; - ctx = GET_CONTEXT(NULL); + ctx = libusb10_get_context_by_device_handle(devh); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_bulk_transfer enter"); ret = libusb10_do_transfer(devh, endpoint, data, length, transferred, @@ -603,7 +623,8 @@ libusb_interrupt_transfer(libusb_device_handle *devh, libusb_context *ctx; int ret; - ctx = GET_CONTEXT(NULL); + ctx = libusb10_get_context_by_device_handle(devh); + DPRINTF(ctx, LIBUSB_DEBUG_FUNCTION, "libusb_interrupt_transfer enter"); ret = libusb10_do_transfer(devh, endpoint, data, length, transferred, diff --git a/lib/libwrap/Makefile b/lib/libwrap/Makefile index 180ef35b9b95..1326b43bad23 100644 --- a/lib/libwrap/Makefile +++ b/lib/libwrap/Makefile @@ -4,6 +4,7 @@ .include <src.opts.mk> +CONFS= hosts.allow PACKAGE=lib${LIB} LIB= wrap SHLIB_MAJOR= 6 diff --git a/lib/libwrap/hosts.allow b/lib/libwrap/hosts.allow new file mode 100644 index 000000000000..3e19bc840402 --- /dev/null +++ b/lib/libwrap/hosts.allow @@ -0,0 +1,92 @@ +# +# hosts.allow access control file for "tcp wrapped" applications. +# $FreeBSD$ +# +# NOTE: The hosts.deny file is deprecated. +# Place both 'allow' and 'deny' rules in the hosts.allow file. +# See hosts_options(5) for the format of this file. +# hosts_access(5) no longer fully applies. +# +# _____ _ _ +# | ____| __ __ __ _ _ __ ___ _ __ | | ___ | | +# | _| \ \/ / / _` | | '_ ` _ \ | '_ \ | | / _ \ | | +# | |___ > < | (_| | | | | | | | | |_) | | | | __/ |_| +# |_____| /_/\_\ \__,_| |_| |_| |_| | .__/ |_| \___| (_) +# |_| +# !!! This is an example! You will need to modify it for your specific +# !!! requirements! + + +# Start by allowing everything (this prevents the rest of the file +# from working, so remove it when you need protection). +# The rules here work on a "First match wins" basis. +ALL : ALL : allow + +# Wrapping sshd(8) is not normally a good idea, but if you +# need to do it, here's how +#sshd : .evil.cracker.example.com : deny + +# Protect against simple DNS spoofing attacks by checking that the +# forward and reverse records for the remote host match. If a mismatch +# occurs, access is denied, and any positive ident response within +# 20 seconds is logged. No protection is afforded against DNS poisoning, +# IP spoofing or more complicated attacks. Hosts with no reverse DNS +# pass this rule. +ALL : PARANOID : RFC931 20 : deny + +# Allow anything from localhost. Note that an IP address (not a host +# name) *MUST* be specified for rpcbind(8). +ALL : localhost 127.0.0.1 : allow +# Comment out next line if you build libwrap without IPv6 support. +ALL : [::1] : allow +#ALL : my.machine.example.com 192.0.2.35 : allow + +# To use IPv6 addresses you must enclose them in []'s +#ALL : [fe80::%fxp0]/10 : allow +#ALL : [fe80::]/10 : deny +#ALL : [2001:db8:2:1:2:3:4:3fe1] : deny +#ALL : [2001:db8:2:1::]/64 : allow + +# Sendmail can help protect you against spammers and relay-rapers +sendmail : localhost : allow +#sendmail : .nice.guy.example.com : allow +#sendmail : .evil.cracker.example.com : deny +sendmail : ALL : allow + +# Exim is an alternative to sendmail, available in the ports tree +exim : localhost : allow +#exim : .nice.guy.example.com : allow +#exim : .evil.cracker.example.com : deny +exim : ALL : allow + +# Rpcbind is used for all RPC services; protect your NFS! +# Rpcbind should be running with -W option to support this. +# (IP addresses rather than hostnames *MUST* be used here) +#rpcbind : 192.0.2.32/255.255.255.224 : allow +#rpcbind : 192.0.2.96/255.255.255.224 : allow +rpcbind : ALL : deny + +# NIS master server. Only local nets should have access +# (Since this is an RPC service, rpcbind needs to be considered) +ypserv : localhost : allow +#ypserv : .unsafe.my.net.example.com : deny +#ypserv : .my.net.example.com : allow +ypserv : ALL : deny + +# Provide a small amount of protection for ftpd +ftpd : localhost : allow +#ftpd : .nice.guy.example.com : allow +#ftpd : .evil.cracker.example.com : deny +ftpd : ALL : allow + +# You need to be clever with finger; do _not_ backfinger!! You can easily +# start a "finger war". +fingerd : ALL \ + : spawn (echo Finger. | \ + /usr/bin/mail -s "tcpd\: %u@%h[%a] fingered me!" root) & \ + : deny + +# The rest of the daemons are protected. +ALL : ALL \ + : severity auth.info \ + : twist /bin/echo "You are not welcome to use %d from %h." |
