Teach SSL Tunnels module new stunnel binary location for RHEL 6.
[webmin.git] / os_list.txt
1 # Pardus Linux
2 Pardus Linux                    1.0                     pardus-linux    1.0     `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+1.0\s+/i
3 Pardus Linux                    2007                    pardus-linux    2007    `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2007\s+/i
4 Pardus Linux                    2007.1 Felis chaus      pardus-linux    2007.1  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2007.1\s+/i
5 Pardus Linux                    2007.2 Caracac caracal  pardus-linux    2007.2  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2007.2\s+/i
6 Pardus Linux                    2007.3 Lynx lynx        pardus-linux    2007.3  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2007.3\s+/i
7 Pardus Linux                    2008                    pardus-linux    2008    `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2008\s+/i
8 Pardus Linux                    2008.1 Hyaena hyaena    pardus-linux    2008.1  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2008.1\s+/i
9 Pardus Linux                    2008.2 Canis aureus     pardus-linux    2008.2  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2008.2\s+/i
10 Pardus Linux                    2009                    pardus-linux    2009    `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2009\s+/i
11 Pardus Linux                    2009.1 Anthropoides virgo       pardus-linux    2009.1  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2009.1\s+/i
12 Pardus Linux                    2009.2 Geronticus eremita       pardus-linux    2009.2  `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2009.2\s+/i
13 Pardus Linux                    2011                    pardus-linux    2011    `cat /etc/pardus-release 2>/dev/null` =~ /Pardus\s+2011\s+/i
14
15 # Sun Solaris
16 Sun Solaris                     2.5.1   solaris         2.5.1   $uname =~ /SunOS.*\s5\.5\.1\s/i
17 Sun Solaris                     2.6     solaris         2.6     $uname =~ /SunOS.*\s5\.6\s/i
18 Sun Solaris                     $1      solaris         $1      $uname =~ /SunOS.*\s5\.(\S+)\s/i
19
20 # Caldera clones
21 Lycoris Desktop/LX              1.0     open-linux      3.1e    $etc_issue =~ /Lycoris Desktop/i
22
23 # Caldera's Linux
24 Caldera OpenLinux eServer       2.3     open-linux      2.3e    $etc_issue =~ /OpenLinux.*eServer.*\n.*\s2\.3\s/i
25 Caldera OpenLinux               2.3     open-linux      2.3     $etc_issue =~ /OpenLinux.*\n.*\s2\.3\s/i
26 Caldera OpenLinux               2.4     open-linux      2.4     $etc_issue =~ /OpenLinux.*\n.*\s2\.4\s/i
27 Caldera OpenLinux               2.5     open-linux      2.5     $etc_issue =~ /OpenLinux.*\n.*\s2\.5\s/i || $etc_issue =~ /Caldera.*2000/i
28 Caldera OpenLinux               3.1     open-linux      3.1e    $etc_issue =~ /OpenLinux.*3\.1/i
29 Caldera OpenLinux               3.2     open-linux      3.2e    $etc_issue =~ /OpenLinux.*3\.2/i
30
31 # Redhat enterprise clones
32 Asianux Server                  $1      redhat-linux    $1+10.0 `cat /etc/asianux-release 2>/dev/null` =~ /Asianux\s+Server\s+(\d+)/i
33 Asianux                         $1      redhat-linux    $1+10.0 `cat /etc/asianux-release 2>/dev/null` =~ /Asianux\s+release\s+(\d+\.\d+)/i
34 Whitebox Linux                  $1      redhat-linux    10.0    `cat /etc/whitebox-release 2>/dev/null` =~ /White\s+Box\s+Enterprise\s+Linux\s+release\s+(\S+)/i
35 Tao Linux                       $1      redhat-linux    10.0    `cat /etc/redhat-release 2>/dev/null` =~ /Tao\s+Linux\s+release\s+(\S+)/i
36 CentOS Linux                    $1      redhat-linux    10.0    `cat /etc/centos-release /etc/redhat-release 2>/dev/null` =~ /CentOS\s+release\s+(\S+)/i && $1 < 4
37 CentOS Linux                    $2      redhat-linux    $2+8.0  `cat /etc/centos-release /etc/redhat-release 2>/dev/null` =~ /CentOS\s+(Linux\s+)?release\s+(\S+)/i && $2 >= 4
38 Scientific Linux                $1      redhat-linux    10.0    `cat /etc/redhat-release 2>/dev/null` =~ /Scientific\s+Linux.*\s+release\s+(\S+)/i && $1 < 4
39 Scientific Linux                $1      redhat-linux    13.0    `cat /etc/redhat-release 2>/dev/null` =~ /Scientific\s+Linux.*\s+release\s+(\S+)/i && $1 >= 4 && $1 < 6
40 Scientific Linux                $1      redhat-linux    14.0    `cat /etc/redhat-release 2>/dev/null` =~ /Scientific\s+Linux.*\s+release\s+(\S+)/i && $1 >= 6
41 Gralinux                        $1      redhat-linux    $2+8.0  `cat /etc/redhtat-release 2>/dev/null` =~ /Gralinux\s+(ES|AS|WS)\s+release\s+(\d+)/i
42 NeoShine Linux                  $1      redhat-linux    $1+10   `cat /etc/neoshine-release 2>/dev/null` =~ /NeoShine\s+Linux.*release\s+(\d+)/i
43 Endian Firewall Linux           $1      redhat-linux    $1+10.0 `cat /etc/endian-release 2>/dev/null` =~ /release\s+(\S+)/
44 Oracle Enterprise Linux                 $2      redhat-linux    $2+8.0  `cat /etc/enterprise-release 2>/dev/null` =~ /Enterprise.*Linux\s+Enterprise\s+Linux\s+Server\s+release\s+(\d+)/i
45 Oracle VM                       $2      redhat-linux    $2+8.0  `cat /etc/ovs-release 2>/dev/null` =~ /Oracle.*VM\s+server\s+release\s+(\d+)/i
46 XenServer Linux                 $1      redhat-linux    13.0    `cat /etc/redhat-release 2>/dev/null` =~ /XenServer\s+release\s+5\./
47
48 # Redhat enterprise versions
49 Redhat Enterprise Linux                 2.1AS   redhat-linux    7.3     `cat /etc/redhat-release 2>/dev/null` =~ /(Advanced\s+Server.*2\.1)|(AS.*2\.1)/i
50 Redhat Enterprise Linux                 2.1ES   redhat-linux    7.3     `cat /etc/redhat-release 2>/dev/null` =~ /ES.*2\.1/
51 Redhat Enterprise Linux                 2.1WS   redhat-linux    7.3     `cat /etc/redhat-release 2>/dev/null` =~ /WS.*2\.1/
52 Redhat Enterprise Linux                 3.0AS   redhat-linux    10.0    `cat /etc/redhat-release 2>/dev/null` =~ /(3\.0AS)|(2\.9\.5AS)|(AS\s+release\s+3)/i
53 Redhat Enterprise Linux                 "$2$1"  redhat-linux    $2 >= 4 ? $2+8.0 : 10.0 `cat /etc/redhat-release 2>/dev/null` =~ /(ES|AS|WS)\s+release\s+(\S+)/
54 Redhat Enterprise Linux                 $2      redhat-linux    $2+8.0  `cat /etc/redhat-release 2>/dev/null` =~ /Red.*Hat\s+Enterprise\s+Linux\s+(Server|Client)\s+release\s+(\d+)/i
55
56 # Redhat enterprise desktop
57 Redhat Linux Desktop                    $1      redhat-linux    10.0    `cat /etc/redhat-release 2>/dev/null` =~ /Desktop\s+release\s+(\S+)/i || `cat /etc/redhat-release 2>/dev/null` =~ /ES\s+release\s+(\S+)/i
58
59 # Redhat clones
60 AlphaCore Linux                 $1      redhat-linux    11.0    `cat /etc/alphacore-release 2>/dev/null` =~ /Alpha\s*Core\s+release\s+(\S+)\s/i
61 X/OS Linux                      $1      redhat-linux    sprintf("%.1f", 9.0+$1)         `cat /etc/redhat-release /etc/fedora-release 2>/dev/null` =~ /X\/OS.*release\s(\S+)\s/i
62 Haansoft Linux                  $1      redhat-linux    10.0    `cat /etc/Haansoft-release 2>/dev/null` =~ /Haansoft\s+Linux\s+OS\s+release\s+(\S+)/i
63 cAos Linux                      $1      redhat-linux    sprintf("%.1f", 10.0+$1)        `cat /etc/caos-release 2>/dev/null` =~ /release\s+(\S+)/i
64 Wind River Linux                3.0     redhat-linux    18.0    `cat /etc/wrs-release 2>/dev/null` =~ /Wind\s+River\s+Linux\s+3\.0/
65 Wind River Linux                2.0     redhat-linux    16.0    `cat /etc/wrs-release 2>/dev/null` =~ /Wind\s+River\s+Linux\s+2\.0/
66
67 # Amazon Linux
68 Amazon Linux                    $1      redhat-linux    20.0    `cat /etc/system-release 2>/dev/null` =~ /Amazon\s+Linux.*\s2011/
69
70 # Free Redhat Linux and Fedora
71 Redhat Linux                    $1      redhat-linux    $1      `cat /etc/redhat-release 2>/dev/null` =~ /red.*hat.*release\s+(\S+)/i && `cat /etc/redhat-release 2>/dev/null` !~ /[eE]nterprise|AS|ES|WS|[aA]dvanced/
72 Redhat Linux                    "Fedora $1"     redhat-linux    sprintf("%.1f", 9.0+$1)         `cat /etc/redhat-release /etc/fedora-release 2>/dev/null` =~ /Fedora.*\s([0-9\.]+)\s/i || `cat /etc/redhat-release /etc/fedora-release 2>/dev/null` =~ /Fedora.*\sFC(\S+)\s/i
73
74 # Slackware clones
75 White Dwarf Linux               2.1.0   slackware-linux 8.1     `cat /tmp/wd/version 2>/dev/null` =~ /2\.1\.0/
76 Slamd64 Linux                   $1      slackware-linux 11.1    `cat /etc/slamd64-version 2>/dev/null` =~ /\s([0-9\.]+)/
77
78 # Slackware Linux
79 Slackware Linux                 $1      slackware-linux $1      `cat /etc/slackware-version 2>/dev/null` =~ /Slackware ([0-9\.]+)/i
80
81 # Debian clones
82 Xandros Linux                   2.0     debian-linux    3.0     $etc_issue =~ /Xandros.*\s2\.0/i
83 Xandros Linux                   3.0     debian-linux    3.1     $etc_issue =~ /Xandros.*\s3\.0/i
84 Xandros Linux                   $1      debian-linux    3.2     $etc_issue =~ /Xandros.*\s(4\.\d+)/i
85 APLINUX                         1.3     debian-linux    3.1     $etc_issue =~ /APLINUX.*1\.3/i
86 BigBlock                        $1      suse-linux      8.2     `cat /etc/bigblock-revision 2>/dev/null` =~ /Version:\s(1[0-9\.-]+)\s/i
87 BigBlock                        $1      debian-linux    3.0     `cat /etc/bigblock-revision 2>/dev/null` =~ /Version:\s(2[0-9\.-]+)\s/i
88 Ubuntu Linux                    $1      debian-linux    4.0     $etc_issue =~ /Ubuntu.*\sgutsy/i
89 Ubuntu Linux                    $1      debian-linux    4.0     $etc_issue =~ /Ubuntu.*\s(7\.[0-9\.]+)\s/i
90 Ubuntu Linux                    $1      debian-linux    4.0     $etc_issue =~ /Ubuntu.*\s(8\.[0-9\.]+)\s/i
91 Ubuntu Linux                    $1      debian-linux    5.0     $etc_issue =~ /Ubuntu.*\s(9\.[0-9\.]+)\s/i
92 Ubuntu Linux                    $1      debian-linux    5.0     $etc_issue =~ /Ubuntu.*\s(10\.[0-9\.]+)\s/i
93 Ubuntu Linux                    $1      debian-linux    6.0     $etc_issue =~ /Ubuntu.*\s(11\.[0-9\.]+)\s/i || $etc_issue =~ /Ubuntu\s+natty/i
94 Ubuntu Linux                    $1      debian-linux    3.1     $etc_issue =~ /Ubuntu.*\s([0-9\.]+)\s/i
95 Mepis Linux                     $1      debian-linux    $1      $etc_issue =~ /MEPIS/ && `cat /etc/debian_version 2>/dev/null` =~ /([0-9\.]+)/
96 Mepis Linux                     $1      debian-linux    4.0     $etc_issue =~ /MEPIS/ && `cat /etc/debian_version 2>/dev/null` =~ /(stable)/
97
98 # Debian Linux versions with numbers
99 Debian Linux                    $1      debian-linux    $1      $etc_issue =~ /Debian.*\s([0-9\.]+)\s/i || `cat /etc/debian_version 2>/dev/null` =~ /([0-9\.]+)/
100 Debian Linux                    2.0     debian-linux    2.0     `cat /etc/debian_version 2>/dev/null` =~ /^(hamm)/i
101 Debian Linux                    2.1     debian-linux    2.1     `cat /etc/debian_version 2>/dev/null` =~ /^(slink)/i
102 Debian Linux                    2.2     debian-linux    2.2     `cat /etc/debian_version 2>/dev/null` =~ /^(potato)/i
103 Debian Linux                    3.0     debian-linux    3.0     `cat /etc/debian_version 2>/dev/null` =~ /^(woody)/i
104 Debian Linux                    3.1     debian-linux    3.1     `cat /etc/debian_version 2>/dev/null` =~ /^(sarge)/i
105 Debian Linux                    4.0     debian-linux    4.0     `cat /etc/debian_version 2>/dev/null` =~ /^(etch)/i
106 Debian Linux                    5.0     debian-linux    5.0     `cat /etc/debian_version 2>/dev/null` =~ /^(lenny)/i
107 Debian Linux                    6.0     debian-linux    6.0     `cat /etc/debian_version 2>/dev/null` =~ /^(squeeze)/i
108 Debian Linux                    7.0     debian-linux    7.0     `cat /etc/debian_version 2>/dev/null` =~ /^(wheezy)/i
109 # These change sometimes...
110 Debian Linux                    5.0     debian-linux    5.0     `cat /etc/debian_version 2>/dev/null` =~ /^(stable)/i
111 # These don't have a version number yet, so we use the one from "stable"
112 Debian Linux                    5.0     debian-linux    5.0     `cat /etc/debian_version 2>/dev/null` =~ /^(testing)/i
113 Debian Linux                    6.0     debian-linux    6.0     `cat /etc/debian_version 2>/dev/null` =~ /^(unstable)/i
114 Debian Linux                    6.0     debian-linux    6.0     `cat /etc/debian_version 2>/dev/null` =~ /^(sid)/i
115
116 # SuSE enterprise versions
117 SuSE OpenExchange Linux         $1      suse-linux      8.2     `cat /etc/SLOX-release 2>/dev/null` =~ /VERSION\s+=\s+(\S+)/i
118 SuSE SLES Linux                 $1      suse-linux      sprintf("%.1f", $1)     $etc_issue =~ /SuSE\s+SLES-(\S+)/i
119
120 # SuSE Linux
121 SuSE Linux                      $1      suse-linux      $1      `cat /etc/SuSE-release 2>/dev/null` =~ /([0-9\.]+)/ || $etc_issue =~ /SuSE\s+Linux\s+(\S+)\s/i
122
123 # United Linux only ever had version 1.0 I think
124 United Linux                    $1      united-linux    $1      `cat /etc/UnitedLinux-release 2>/dev/null` =~ /([0-9\.]+)/
125
126 # Corel Linux
127 Corel Linux                     $1      corel-linux     $1      $etc_issue =~ /Corel\s+LINUX\s+(\S+)/i
128
129 # Turbo Linux
130 TurboLinux                      $1      turbo-linux     sprintf("%.1f", $1)     `cat /etc/turbolinux-release 2>/dev/null` =~ /([0-9\.]+)/i
131
132 # Cobalt Linux, from the Raq and Qube systems
133 Cobalt Linux                    $1      cobalt-linux    $1      $etc_issue =~ /Cobalt\s+Linux\s+release\s+(\S+)/i || `cat /etc/cobalt-release 2>/dev/null` =~ /([0-9\.]+)/
134 Cobalt Linux                    6.4     cobalt-linux    6.4     `uname -r` =~ /2.2.16/ && -r "/etc/cobalt-release"
135
136 # Mandrake corporate
137 Mandrake Linux Corporate Server 1.0     redhat-linux    6.2     $etc_issue =~ /Mandrake\s+Corporate\s+Server\s+release\s+1\.0/i
138
139 # Mandrake derivatives
140 pclinuxos Linux                 2005    mandrake-linux  10.0    `cat /etc/mandrake-release 2>/dev/null` =~ /pclinuxos\s+Linux\s+release\s+2005/i
141 pclinuxos Linux                 2006    mandrake-linux  10.2    `cat /etc/mandrake-release 2>/dev/null` =~ /pclinuxos\s+Linux\s+release\s+2006/i
142 pclinuxos Linux                 2007    mandrake-linux  10.3    `cat /etc/mandrake-release 2>/dev/null` =~ /PCLinuxOS\s+release\s+2007/i
143 pclinuxos Linux                 2008    mandrake-linux  10.4    `cat /etc/mandrake-release 2>/dev/null` =~ /PCLinuxOS\s+release\s+2008/i
144 pclinuxos Linux                 2009    mandrake-linux  10.5    `cat /etc/mandrake-release 2>/dev/null` =~ /PCLinuxOS\s+release\s+2009/i
145
146 # Mandrake Linux
147 Mandrake Linux                  5.3     redhat-linux    5.0     $etc_issue =~ /Mandrake\s+release\s+5\.3/i
148 Mandrake Linux                  6.0     redhat-linux    6.0     $etc_issue =~ /Mandrake\s+release\s+6\.0/i
149 Mandrake Linux                  6.1     redhat-linux    6.0     $etc_issue =~ /Mandrake\s+release\s+6\.1/i
150 Mandrake Linux                  7.0     redhat-linux    6.1     $etc_issue =~ /Mandrake\s+release\s+7\.0/i
151 Mandrake Linux                  7.1     redhat-linux    6.2     $etc_issue =~ /Mandrake\s+release\s+7\.1/i
152 Mandrake Linux                  $1      mandrake-linux  $1      `cat /etc/mandrake-release 2>/dev/null` =~ /Mandrake.*?([0-9\.]+)/i || $etc_issue =~ /Mandrake\s+release\s+([0-9\.]+)/i || $etc_issue =~ /Mandrakelinux\s+release\s+([0-9\.]+)/i
153
154 # Mandriva Linux
155 Mandriva Linux                  $2      mandrake-linux  10.2    $etc_issue =~ /(Mandrakelinux|Mandriva).*(2006\.\d+)/i || `cat /etc/mandrake-release 2>/dev/null` =~ /(Mandrakelinux|Mandriva).*(2007\.\d+)/i
156 Mandriva Linux                  $2      mandrake-linux  10.3    $etc_issue =~ /(Mandrakelinux|Mandriva).*(2007\.\d+)/i || `cat /etc/mandrake-release 2>/dev/null` =~ /(Mandrakelinux|Mandriva).*(2007\.\d+)/i
157 Mandriva Linux                  $2      mandrake-linux  10.4    $etc_issue =~ /(Mandrakelinux|Mandriva).*(2008\.\d+)/i || `cat /etc/mandrake-release 2>/dev/null` =~ /(Mandrakelinux|Mandriva).*(2008\.\d+)/i
158 Mandriva Linux                  $2      mandrake-linux  10.5    $etc_issue =~ /(Mandrakelinux|Mandriva).*(2009\.\d+)/i || `cat /etc/mandrake-release 2>/dev/null` =~ /(Mandrakelinux|Mandriva).*(2009\.\d+)/i
159 Mandriva Linux                  $2      mandrake-linux  $2      $etc_issue =~ /(Mandriva).*(20\d\d\.\d+)/i || `cat /etc/mandriva-release 2>/dev/null` =~ /(Mandriva).*(20\d\d\.\d+)/i
160
161 # Mandriva Corporate
162 Mandrake Linux Corporate Server $i      mandrake-linux  $i      $etc_issue =~ /Mandrake\s+Linux\s+Corporate\s+Server\s+release\s+([0-9\.]+)/i
163 Mandriva Linux Enterprise Server        5.0     mandrake-linux  2009    $etc_issue =~ /Mandriva\s+Linux\s+Enterprise\s+Server\s+release\s+5\.0\s+\(Official\)\s+for\s+(i586|x86_64)/i
164
165 # Conectiva Linux (now subsumed into Mandrake?)
166 Conectiva Linux                 3.0     redhat-linux    5.2     $etc_issue =~ /Conectiva.*Linux.*3\.0/i
167 Conectiva Linux                 4.0     redhat-linux    6.0     $etc_issue =~ /Conectiva.*Linux.*4\.0/i
168 Conectiva Linux                 4.1     redhat-linux    6.1     $etc_issue =~ /Conectiva.*Linux.*4\.1/i
169 Conectiva Linux                 4.2     redhat-linux    6.1     $etc_issue =~ /Conectiva.*Linux.*4\.2/i
170 Conectiva Linux                 5.0     redhat-linux    6.2     $etc_issue =~ /Conectiva.*Linux.*5\.0/i
171 Conectiva Linux                 5.1     redhat-linux    6.2     $etc_issue =~ /Conectiva.*Linux.*5\.1/i
172 Conectiva Linux                 6.0     redhat-linux    7.0     $etc_issue =~ /Conectiva.*Linux.*6\.0/i
173 Conectiva Linux                 7.0     redhat-linux    7.1     $etc_issue =~ /Conectiva.*Linux.*7\.0/i
174 Conectiva Linux                 8       redhat-linux    7.3     $etc_issue =~ /Conectiva.*Linux.*\s8/i
175 Conectiva Linux                 9       redhat-linux    8.0     $etc_issue =~ /Conectiva.*Linux.*\s9/i
176 Conectiva Linux                 10      redhat-linux    10.0    $etc_issue =~ /Conectiva.*Linux.*\s10\s/i
177
178 # ThizLinux Desktop
179 ThizLinux Desktop               5.0     redhat-linux    7.2     $etc_issue =~ /Thiz.*Linux.*\s5\.0/i
180 ThizLinux Desktop               6.0     redhat-linux    7.3     $etc_issue =~ /Thiz.*Linux.*\s6\.0/i
181 ThizLinux Desktop               6.2     redhat-linux    7.3     $etc_issue =~ /Thiz.*Linux.*\s6\.2/i
182 ThizLinux Desktop               7.0     redhat-linux    8.0     $etc_issue =~ /Thiz.*Linux.*\s7\.0/i
183
184 # ThizLinux Server
185 ThizServer                      4.3     redhat-linux    7.1     $etc_issue =~ /Thiz.*\s?Server.*\s4\.3/i
186 ThizServer                      6.0     redhat-linux    7.3     $etc_issue =~ /Thiz.*\s?Server.*\s6\.0/i
187 ThizServer                      7.0     redhat-linux    8.0     $etc_issue =~ /Thiz.*\s?Server.*\s7\.0/i
188
189 # MSC Linux, which used date-based versions (no longer released)
190 MSC Linux                       January 2001    msc-linux       2001.2  `cat /etc/msclinux-release 2>/dev/null` =~ /2001.*January/i || $etc_issue =~ /2001.*January/i
191 MSC Linux                       February 2001   msc-linux       2001.2  `cat /etc/msclinux-release 2>/dev/null` =~ /2001.*February/i || $etc_issue =~ /2001.*February/i
192 MSC Linux                       May 2001        msc-linux       2001.5  `cat /etc/msclinux-release 2>/dev/null` =~ /2001.*May/i || $etc_issue =~ /2001.*May/i
193 MSC Linux                       June 2001       msc-linux       2001.6  `cat /etc/msclinux-release 2>/dev/null` =~ /2001.*June/i || $etc_issue =~ /2001.*June/i
194 MSC Linux                       August 2001     msc-linux       2001.8  `cat /etc/msclinux-release 2>/dev/null` =~ /2001.*August/i || $etc_issue =~ /2001.*August/i
195 MSC Linux                       February 2002   msc-linux       2002.2  `cat /etc/msclinux-release 2>/dev/null` =~ /2002.*February/i || $etc_issue =~ /2002.*February/i
196 MSC Linux                       March 2002      msc-linux       2002.3  `cat /etc/msclinux-release 2>/dev/null` =~ /2002.*March/i || $etc_issue =~ /2002.*March/i
197 MSC Linux                       May 2002        msc-linux       2002.5  `cat /etc/msclinux-release 2>/dev/null` =~ /2002.*May/i || $etc_issue =~ /2002.*May/i
198 MSC Linux                       July 2002       msc-linux       2002.7  `cat /etc/msclinux-release 2>/dev/null` =~ /2002.*July/i || $etc_issue =~ /2002.*July/i
199 MSC Linux                       Nov 2002        msc-linux       2002.11 `cat /etc/msclinux-release 2>/dev/null` =~ /2002.*Nov/i || $etc_issue =~ /2002.*Nov/i
200
201 # SCI Linux, which has replaced MSC Linux
202 SCI Linux                       2003 Summer     msc-linux       2003.6  `cat /etc/scilinux-relase 2>/dev/null` =~ /2003.*Summer/i
203 SCI Linux                       2004 Summer     msc-linux       2004.6  `cat /etc/scilinux-relase 2>/dev/null` =~ /2004.*Summer/i
204 SCI Linux                       2005 Summer     msc-linux       2005.6  `cat /etc/scilinux-relase 2>/dev/null` =~ /2005.*Summer/i
205
206 # PPC Linux
207 LinuxPPC                        2000    redhat-linux    6.1     $etc_issue =~ /LinuxPPC\s+2000/i
208
209 # Trustix enterprise
210 Trustix SE                      $1      trustix-linux   sprintf("%.1f", $1)     $etc_issue =~ /Trustix.*Enterprise.*([0-9\.]+)/i
211
212 # Trustix Linux
213 Trustix                         1.1     redhat-linux    6.2     $etc_issue =~ /Trustix.*1\.1/i
214 Trustix                         1.2     redhat-linux    7.0     $etc_issue =~ /Trustix.*1\.2/i
215 Trustix                         1.5     redhat-linux    7.1     $etc_issue =~ /Trustix.*1\.5/i
216 Trustix                         $1      trustix-linux   $1      $etc_issue =~ /Trustix.*\s([0-9\.]+)/i
217
218 # Trustix clones
219 Tawie Server Linux              $1      trustix-linux   $1      $etc_issue =~ /Tawie\s+Server\s+Linux.*([0-9\.]+)/i
220 TinySofa Linux                  1.0     trustix-linux   2.0     $etc_issue =~ /tinysofa.*release\s+1\.0/i
221 TinySofa Linux                  Classic 2.0     trustix-linux   2.2     `cat /etc/tinysofa-release 2>/dev/null` =~ /classic.*release\s+2\.0/i
222 TinySofa Linux                  Enterprise 2.0  redhat-linux    11.0    `cat /etc/tinysofa-release 2>/dev/null` =~ /enterprise.*release\s+2\.0/i
223
224 # Cendio Linux (discontinued?)
225 Cendio LBS Linux                3.1     redhat-linux    6.1     $etc_issue =~ /Cendio\s*LBS.*\s3\.1/i || `cat /etc/lbs-release 2>/dev/null` =~ /3\.1/
226 Cendio LBS Linux                3.2     redhat-linux    6.2     $etc_issue =~ /Cendio\s*LBS.*\s3\.2/i || `cat /etc/lbs-release 2>/dev/null` =~ /3\.2/
227 Cendio LBS Linux                3.3     redhat-linux    6.2     $etc_issue =~ /Cendio\s*LBS.*\s3\.3/i || `cat /etc/lbs-release 2>/dev/null` =~ /3\.3/
228 Cendio LBS Linux                4.0     redhat-linux    7.1     $etc_issue =~ /Cendio\s*LBS.*\s4\.0/i || `cat /etc/lbs-release 2>/dev/null` =~ /4\.0/
229 Cendio LBS Linux                4.1     redhat-linux    7.1     $etc_issue =~ /Cendio\s*LBS.*\s4\.1/i || `cat /etc/lbs-release 2>/dev/null` =~ /4\.1/
230
231 # Ute Linux (never got beyond 1.0)
232 Ute Linux                       1.0     redhat-linux    6.2     `cat /etc/ute-release 2>/dev/null` =~ /Ute\s+Linux\s+release\s+1\.0/i
233
234 # Lanthan Linux (appears to be dead)
235 Lanthan Linux                   1.0     redhat-linux    6.2     $etc_issue =~ /Lanthan\s+Linux\s+release\s+1\.0/i || `cat /etc/lanthan-release 2>/dev/null` =~ /1\.0/
236 Lanthan Linux                   2.0     redhat-linux    7.0     $etc_issue =~ /Lanthan\s+Linux\s+release\s+2\.0/i || `cat /etc/lanthan-release 2>/dev/null` =~ /2\.0/
237 Lanthan Linux                   3.0     redhat-linux    7.1     $etc_issue =~ /Lanthan\s+Linux\s+release\s+3\.0/i || `cat /etc/lanthan-release 2>/dev/null` =~ /3\.0/
238
239 # Yellow Dog Linux, for PPC
240 Yellow Dog Linux                2.0     redhat-linux    7.0     $etc_issue =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.0\s+/i || `cat /etc/yellowdog-release 2>/dev/null` =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.0\s+/i
241 Yellow Dog Linux                2.1     redhat-linux    7.1     $etc_issue =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.1\s+/i || `cat /etc/yellowdog-release 2>/dev/null` =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.1\s+/i
242 Yellow Dog Linux                2.2     redhat-linux    7.2     $etc_issue =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.2\s+/i || `cat /etc/yellowdog-release 2>/dev/null` =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.2\s+/i
243 Yellow Dog Linux                2.3     redhat-linux    8.0     $etc_issue =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.3\s+/i || `cat /etc/yellowdog-release 2>/dev/null` =~ /Yellow\s+Dog\s+Linux\s+release\s+2\.3\s+/i
244 Yellow Dog Linux                3.0     redhat-linux    9.0     $etc_issue =~ /Yellow\s+Dog\s+Linux\s+release\s+3\.0\s+/i || `cat /etc/yellowdog-release 2>/dev/null` =~ /Yellow\s+Dog\s+Linux\s+release\s+3\.0\s+/i
245 Yellow Dog Linux                4.0     redhat-linux    11.0    $etc_issue =~ /Yellow\s+Dog\s+Linux\s+release\s+4\.0\s+/i || `cat /etc/yellowdog-release 2>/dev/null` =~ /\s4\.0\s/i
246
247 # Latinux (appears to be discontinued?)
248 Corvus Latinux                  8.0     redhat-linux    7.1     `cat /etc/latinux-release 2>/dev/null` =~ /Latinux\s+8\s/i
249
250 # Immunix Linux (discontinued)
251 Immunix Linux                   $1      redhat-linux    $1      $etc_issue =~ /Immunix.*\s([0-9\.]+)/i || `cat /etc/immunix-release 2>/dev/null` =~ /([0-9\.]+)/
252
253 # All versions of Gentoo (which don't appear to have version numbers)
254 Gentoo Linux                    Any version     gentoo-linux    *       -d "/usr/portage"
255
256 # Secure Linux (now called Trustix?)
257 Secure Linux                    1.0     redhat-linux    7.2     `cat /etc/securelinux-release 2>/dev/null` =~ /SecureLinux.*1\.0/i
258
259 # OpenNA Linux
260 OpenNA Linux                    1.0     redhat-linux    9.0     `cat /etc/openna-release 2>/dev/null` =~ /release\s+1\.0\s/i
261 OpenNA Linux                    2.0     redhat-linux    10.0    `cat /etc/openna-release 2>/dev/null` =~ /release\s+2\.0\s/i
262
263 # SoL Linux 
264 SoL Linux                       17.00   sol-linux       17.00   -r "/etc/antitachyon-distribution" && `uname -r` =~ /2\.4\./
265 SoL Linux                       18.00   sol-linux       18.00   -r "/etc/antitachyon-distribution" && `uname -r` =~ /2\.6\./
266
267 # Coherent Linux
268 Coherent Technology Linux       $1      coherent-linux  $1      $etc_issue =~ /coherent\s*technology.*\s([0-9\.]+)/i || `cat /etc/coherent-release 2>/dev/null` =~ /([0-9\.]+)/ 
269
270 # Linux for the playstation
271 Playstation Linux               1.0     redhat-linux    6.2     $etc_issue =~ /PS2\s+Linux\s+release\s+1.0/i
272
273 # StartCom Linux
274 StartCom Linux                  $1      redhat-linux    10.0    `cat /etc/startcom-release 2>/dev/null` =~ /([0-9\.]+)/
275
276 # Yoper Linux
277 Yoper Linux                     2.0     redhat-linux    10.0    `cat /etc/yoper-release 2>/dev/null` =~ /Yoper\s+Linux\s+2.0/i
278 Yoper Linux                     2.1     redhat-linux    11.0    `cat /etc/yoper-release 2>/dev/null` =~ /Yoper\s+Linux\s+2.1/i
279 Yoper Linux                     2.2     redhat-linux    12.0    `cat /etc/yoper-release 2>/dev/null` =~ /Yoper\s+Linux\s+2.2/i
280
281 # Caixa Linux
282 Caixa Magica                    8.1     suse-linux      8.0     `cat /etc/CxM-release 2>/dev/null` =~ /8\.1/ || $etc_issue =~ /Caixa\s+8\.1\s/i
283 Caixa Magica                    10.0    suse-linux      9.2     `cat /etc/CxM-release 2>/dev/null` =~ /10\.0/ || $etc_issue =~ /Caixa\s+10\.0\s/i
284
285 # openmamba Linux
286 openmamba Linux                 $1      openmamba-linux $1      `cat /etc/openmamba-release 2>/dev/null` =~ /openmamba\s+release\s+(\S+)/i
287
288 # All FreeBSD versions
289 FreeBSD                         $1      freebsd         $1      $uname =~ /FreeBSD.*?\s([0-9]+\.[0-9\.]+)/i
290
291 # FreeBSD clones
292 DragonFly BSD                   1.0     freebsd         4.8     $uname =~ /DragonFly.*?\s1\.0A/i
293 DragonFly BSD                   1.2     freebsd         4.10    $uname =~ /DragonFly.*?\s1\.2A/i
294
295 # All OpenBSD versions
296 OpenBSD                         $1      openbsd         $1      $uname =~ /OpenBSD.*?\s([0-9\.]+)/i
297
298 # All NetBSD versions
299 NetBSD                          1.5     netbsd          1.5     $uname =~ /NetBSD.*1\.5/i
300 NetBSD                          1.6     netbsd          1.6     $uname =~ /NetBSD.*1\.6/i
301 NetBSD                          2.0     netbsd          2.0     $uname =~ /NetBSD.*2\.0/i
302 NetBSD                          3.0     netbsd          3.0     $uname =~ /NetBSD.*3\.0/i
303 NetBSD                          4.0     netbsd          4.0     $uname =~ /NetBSD.*4\.0/i
304 NetBSD                          $1      netbsd          $1      `uname` =~ /NetBSD/ && `uname -r` =~ /([\d.]+)/
305
306 # BSDI (may not be detected properly)
307 BSDI                            $1      freebsd         $1      $uname =~ /BSDI.*\s([0-9\.]+)/i
308
309 # HP/UX
310 HP/UX                           $1      hpux            $1      $uname =~ /HP-UX.*(1[01]\.[0-9\.]+)/
311
312 # Irix
313 SGI Irix                        $1      irix            $1      $uname =~ /IRIX.*([0-9]+\.[0-9]+)/i
314
315 # DEC OSF/1 or Tru64 (discontinued)
316 DEC/Compaq OSF/1                4.0     osf1            4.0     $uname =~ /OSF1.*4\.0/
317 DEC/Compaq OSF/1                5.1     osf1            5.1     $uname =~ /OSF1.*V5.1/
318
319 # AIX
320 IBM AIX                         "$2.$1" aix             "$2.$1" $uname =~ /AIX\s+\S+\s+(\d+)\s+(\d+)\s+/i
321
322 # SCO's operating systems (no longer developed)
323 SCO UnixWare                    2       unixware        2
324 SCO UnixWare                    7       unixware        7
325 SCO UnixWare                    8       unixware        8
326 SCO OpenServer                  5       openserver      5       $uname =~ /SCO_SV.*\s5\./i
327 SCO OpenServer                  6       openserver      6       $uname =~ /SCO_SV.*\s6\./i
328
329 # Apple's OS X versions
330 Mac OS X                        10.0    macos           1.3     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.0/i
331 Mac OS X                        10.1    macos           1.4     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.1/i
332 Mac OS X                        10.2    macos           6.0     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.2/i
333 Mac OS X                        10.3    macos           7.0     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.3/i
334 Mac OS X                        10.4    macos           8.1     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.4/i
335 Mac OS X                        10.5    macos           9.2     `sw_vers 2>/dev/null` =~ /ProductVersion:\s+10\.5/i
336
337 # Darwin, the open source version of OS X
338 Darwin                          $1      macos           $1      $uname =~ /Darwin.*\s([0-9\.]+)/
339
340 # OpenDarwin
341 OpenDarwin                      6.6.1   macos           6.0
342 OpenDarwin                      6.6.2   macos           6.0
343 OpenDarwin                      7.2.1   macos           7.0
344
345 # Webmin running under Windows
346 Cygwin                          1.1     cygwin          1.1
347 Cygwin                          1.3     cygwin          1.3
348
349 # Sun's desktop Linux and Solaris systems
350 Sun Java Desktop System         1.0 (Linux)     suse-linux      9.1     `cat /etc/SuSE-release 2>/dev/null` =~ /Java Desktop System.*\nVERSION = 1\.0/i
351 Sun Java Desktop System         2.0 (Linux)     suse-linux      9.2     `cat /etc/SuSE-release 2>/dev/null` =~ /Java Desktop System.*\nVERSION = 2\.0/i
352 Sun Java Desktop System         3.0 (Linux)     suse-linux      9.2     `cat /etc/SuSE-release 2>/dev/null` =~ /Java Desktop System.*\nVERSION = 3\.0/i
353 Sun Java Desktop System         2.0 (Solaris)   solaris         9       $uname =~ /SunOS.*\s5\.9\s/i && `cat /etc/sun-release 2>/dev/null` =~ /Sun\s+Java\s+Desktop/
354
355 # All other Linux variants, identified by kernel version
356 Generic Linux                   2.0     generic-linux   2.0     `uname -r` =~ /2\.0\./
357 Generic Linux                   2.2     generic-linux   2.2     `uname -r` =~ /2\.2\./
358 Generic Linux                   2.4     generic-linux   2.4     `uname -r` =~ /2\.4\./
359 Generic Linux                   2.5     generic-linux   2.5     `uname -r` =~ /2\.4\./
360 Generic Linux                   2.6     generic-linux   2.6     `uname -r` =~ /2\.6\./
361 Generic Linux                   2.7     generic-linux   2.7     `uname -r` =~ /2\.7\./
362
363 # Windows
364 Windows                         XP      windows         xp      (-d "c:/windows" || -d "c:/winnt") && `ver` =~ /XP/
365 Windows                         2000    windows         2000    (-d "c:/windows" || -d "c:/winnt") && `ver` =~ /2000/
366 Windows                         2003    windows         2003    (-d "c:/windows" || -d "c:/winnt") && `ver` =~ /2003|\s5\.2/
367