Merge lp:~noskcaj/ubuntu/saucy/xinetd/2.3.15 into lp:ubuntu/saucy/xinetd

Proposed by Jackson Doak
Status: Merged
Merge reported by: Martin Pitt
Merged at revision: not available
Proposed branch: lp:~noskcaj/ubuntu/saucy/xinetd/2.3.15
Merge into: lp:ubuntu/saucy/xinetd
Diff against target: 23392 lines (+4670/-15467)
129 files modified
.pc/.quilt_patches (+1/-0)
.pc/.quilt_series (+1/-0)
.pc/.version (+1/-0)
.pc/000001-documentation_fixes/xinetd/itox.8 (+19/-0)
.pc/000001-documentation_fixes/xinetd/xinetd.conf.man (+1253/-0)
.pc/000001-documentation_fixes/xinetd/xinetd.man (+194/-0)
.pc/000004-Fix-xinetd.log.man-installation-path/Makefile.in (+123/-0)
.pc/000008-fix-manpages/xinetd/itox.8 (+22/-0)
.pc/000008-fix-manpages/xinetd/xinetd.conf.man (+1253/-0)
.pc/applied-patches (+3/-0)
CHANGELOG (+25/-0)
Makefile.in (+2/-2)
config.guess (+494/-703)
config.h.in (+2/-1)
config.sub (+132/-462)
configure (+111/-0)
configure.in (+28/-0)
debian/README.Debian (+1/-1)
debian/changelog (+63/-0)
debian/compat (+1/-1)
debian/control (+8/-7)
debian/patches/000001-documentation_fixes (+62/-0)
debian/patches/000004-Fix-xinetd.log.man-installation-path (+16/-0)
debian/patches/000008-fix-manpages (+377/-0)
debian/patches/0001-Documentation-fixes.patch (+0/-74)
debian/patches/0002-xconv.pl-updates.patch (+0/-88)
debian/patches/0003-Various-fixes-from-the-previous-maintainer.patch (+0/-77)
debian/patches/0004-Fix-xinetd.log.man-installation-path.patch (+0/-25)
debian/patches/0005-Update-build-system.patch (+0/-13384)
debian/patches/0006-Disable-services-from-inetd.conf-if-a-service-with-t.patch (+0/-84)
debian/patches/0007-xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch (+0/-110)
debian/patches/0008-CVE-2012-0862.patch (+0/-49)
debian/patches/series (+3/-0)
debian/rules (+14/-104)
debian/source/format (+1/-0)
debian/watch (+2/-0)
debian/xinetd.d/chargen (+2/-2)
debian/xinetd.d/daytime (+2/-2)
debian/xinetd.d/discard (+2/-2)
debian/xinetd.d/echo (+2/-2)
debian/xinetd.d/time (+2/-2)
debian/xinetd.doc-base (+8/-0)
debian/xinetd.docs (+3/-0)
debian/xinetd.examples (+2/-0)
debian/xinetd.init (+12/-10)
debian/xinetd.install (+2/-2)
debian/xinetd.links (+1/-0)
debian/xinetd.postinst (+0/-17)
debian/xinetd.preinst (+0/-12)
debian/xinetd.prerm (+0/-13)
libs/src/misc/Makefile.in (+1/-1)
libs/src/misc/m_env.3 (+1/-1)
libs/src/misc/m_env.h (+1/-1)
libs/src/misc/misc.3 (+1/-1)
libs/src/misc/misc.h (+1/-1)
libs/src/pset/Makefile.in (+1/-1)
libs/src/pset/pset.3 (+1/-1)
libs/src/pset/pset.h (+1/-1)
libs/src/pset/psi.3 (+1/-1)
libs/src/sio/Makefile.in (+1/-1)
libs/src/sio/Sprint.3 (+1/-1)
libs/src/sio/impl.h (+3/-3)
libs/src/sio/sio.3 (+1/-1)
libs/src/sio/sio.c (+15/-15)
libs/src/sio/sio.h (+8/-6)
libs/src/sio/sioconf.h (+1/-1)
libs/src/sio/siosup.c (+11/-11)
libs/src/sio/sprint.c (+16/-14)
libs/src/str/Makefile.in (+1/-1)
libs/src/str/str.h (+1/-1)
libs/src/str/strparse.3 (+1/-1)
libs/src/str/strparse.c (+1/-1)
libs/src/str/strparse.h (+1/-1)
libs/src/str/strprint.3 (+1/-1)
libs/src/str/strutil.3 (+1/-1)
libs/src/xlog/Makefile.in (+1/-1)
libs/src/xlog/filelog.h (+1/-1)
libs/src/xlog/impl.h (+1/-1)
libs/src/xlog/slog.h (+1/-1)
libs/src/xlog/xlog.3 (+1/-1)
libs/src/xlog/xlog.c (+1/-0)
libs/src/xlog/xlog.h (+1/-1)
xinetd/Makefile.in (+1/-1)
xinetd/access.c (+2/-2)
xinetd/access.h (+1/-1)
xinetd/addr.c (+7/-7)
xinetd/addr.h (+1/-1)
xinetd/attr.h (+1/-1)
xinetd/builtins.c (+37/-23)
xinetd/builtins.h (+1/-1)
xinetd/child.c (+105/-0)
xinetd/conf.h (+1/-1)
xinetd/confparse.c (+29/-0)
xinetd/connection.c (+4/-2)
xinetd/connection.h (+1/-1)
xinetd/defs.h (+4/-1)
xinetd/ident.c (+2/-2)
xinetd/includedir.c (+2/-2)
xinetd/inet.c (+0/-4)
xinetd/int.c (+1/-1)
xinetd/int.h (+1/-1)
xinetd/itox.8 (+9/-6)
xinetd/itox.c (+2/-2)
xinetd/log.h (+1/-1)
xinetd/main.c (+4/-1)
xinetd/mask.h (+1/-1)
xinetd/nvlists.c (+1/-0)
xinetd/options.c (+3/-3)
xinetd/parse.h (+1/-1)
xinetd/parsers.c (+1/-1)
xinetd/redirect.c (+3/-2)
xinetd/sconf.h (+3/-1)
xinetd/sconst.h (+1/-1)
xinetd/sensor.c (+2/-2)
xinetd/server.h (+1/-1)
xinetd/service.c (+17/-3)
xinetd/service.h (+2/-1)
xinetd/signals.c (+6/-6)
xinetd/state.h (+1/-1)
xinetd/tcpint.c (+6/-6)
xinetd/udpint.c (+6/-6)
xinetd/util.c (+3/-2)
xinetd/xconfig.h (+1/-1)
xinetd/xconv-new.pl (+1/-1)
xinetd/xconv.pl (+1/-1)
xinetd/xinetd.conf.man (+57/-48)
xinetd/xinetd.log.man (+1/-1)
xinetd/xinetd.man (+2/-2)
xinetd/xtimer.c (+2/-2)
To merge this branch: bzr merge lp:~noskcaj/ubuntu/saucy/xinetd/2.3.15
Reviewer Review Type Date Requested Status
Martin Pitt Approve
Review via email: mp+180082@code.launchpad.net

Description of the change

Merged from debian unstable

To post a comment you must log in.
Revision history for this message
Martin Pitt (pitti) wrote :

I removed the patch noise and dropped the extra lsb-base dependency; this is priority required and the last LTS has a new enough version. Uploaded, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added directory '.pc'
=== added file '.pc/.quilt_patches'
--- .pc/.quilt_patches 1970-01-01 00:00:00 +0000
+++ .pc/.quilt_patches 2013-08-14 10:06:03 +0000
@@ -0,0 +1,1 @@
1debian/patches
02
=== added file '.pc/.quilt_series'
--- .pc/.quilt_series 1970-01-01 00:00:00 +0000
+++ .pc/.quilt_series 2013-08-14 10:06:03 +0000
@@ -0,0 +1,1 @@
1series
02
=== added file '.pc/.version'
--- .pc/.version 1970-01-01 00:00:00 +0000
+++ .pc/.version 2013-08-14 10:06:03 +0000
@@ -0,0 +1,1 @@
12
02
=== added directory '.pc/000001-documentation_fixes'
=== added file '.pc/000001-documentation_fixes/.timestamp'
=== added directory '.pc/000001-documentation_fixes/xinetd'
=== added file '.pc/000001-documentation_fixes/xinetd/itox.8'
--- .pc/000001-documentation_fixes/xinetd/itox.8 1970-01-01 00:00:00 +0000
+++ .pc/000001-documentation_fixes/xinetd/itox.8 2013-08-14 10:06:03 +0000
@@ -0,0 +1,19 @@
1.TH ITOX 8 "October 1999" "xinetd"
2.SH NAME
3itox \- converts inetd.conf style configuration files to xinetd.conf
4.SH SYNOPSIS
5itox [-daemon_dir <dir_path>]
6.SH DESCRIPTION
7.B itox
8takes on its standard input inetd.conf style entries and dumps to
9standard output the corresponding xinetd.conf style entries.
10.SH OPTIONS
11.TP
12.I -daemon_dir <dir_path>
13Specifies the file name of the TCP daemon used in the inetd.conf file.
14.SH EXAMPLES
15itox -daemon_dir /usr/sbin/tcpd < inetd.conf > xinetd.conf
16.SH AUTHOR
17xinetd and itox were written by Panagiotis Tsirigotis.
18.sp
19This man page was written by Norbert Veber <nveber@debian.org>.
020
=== added file '.pc/000001-documentation_fixes/xinetd/xinetd.conf.man'
--- .pc/000001-documentation_fixes/xinetd/xinetd.conf.man 1970-01-01 00:00:00 +0000
+++ .pc/000001-documentation_fixes/xinetd/xinetd.conf.man 2013-08-14 10:06:03 +0000
@@ -0,0 +1,1253 @@
1.\"(c) Copyright 1992, by Panagiotis Tsirigotis
2.\"(c) Sections Copyright 1998-2001 by Rob Braun
3.\"All rights reserved. The file named COPYRIGHT specifies the terms
4.\"and conditions for redistribution.
5.\"
6.\" $Id: xinetd.conf.man,v 1.20 2007-09-20 14:58:27 bbraun Exp $
7.TH XINETD.CONF 5 "14 June 2001"
8.\" *************************** NAME *********************************
9.SH NAME
10xinetd.conf \- Extended Internet Services Daemon configuration file
11.\" *********************** DESCRIPTION ****************************
12.SH DESCRIPTION
13.B "xinetd.conf"
14is the configuration file that
15determines the services provided by \fBxinetd\fP.
16Any line whose first non-white-space character is a '#' is considered
17a comment line. Empty lines are ignored.
18.LP
19The file contains entries of the form:
20.RS
21.nf
22.ft B
23.sp
24service <service_name>
25{
26.RS
27.ft B
28<attribute> <assign_op> <value> <value> ...
29.I "..."
30.RE
31}
32.ft R
33.fi
34.RE
35.LP
36The assignment operator,
37.I assign_op,
38can be one of
39.B '=',
40.B '+=',
41.B '-='.
42The majority of attributes support only the simple assignment operator,
43.B '='.
44Attributes whose value is a set of values support all assignment operators.
45For such attributes,
46.B '+='
47means adding a value to the set and
48.B '-='
49means removing a value from the set.
50A list of these attributes will be given
51after all the attributes are described.
52.LP
53Each entry defines a service identified by the \fIservice_name\fP.
54The following is a list of available attributes:
55.TP 17
56.B id
57This attribute is used to uniquely identify a service.
58This is useful because there exist services that can use different
59protocols and need to be described with different entries in the
60configuration file.
61By default, the service id is the same as the service name.
62.TP
63.B type
64Any combination of the following values may be used:
65.RS
66.TP 12
67.B RPC
68if this is an RPC service
69.TP
70.B INTERNAL
71if this is a service provided by \fBxinetd\fP.
72.TP
73.B TCPMUX/TCPMUXPLUS
74if this is a service that will be started according to the RFC 1078 protocol on the TCPMUX well-known port. See the section describing TCPMUX services below.
75.TP
76.B UNLISTED
77if this is a service not listed in a standard system file
78(like
79.I /etc/rpc
80for RPC services, or
81.I /etc/services
82for non-RPC services).
83.RE
84.TP
85.B flags
86Any combination of the following flags may be used:
87.RS
88.TP 12
89.B INTERCEPT
90Intercept packets or accepted connections in order to verify that they
91are coming from acceptable locations (internal or multi-threaded
92services cannot be intercepted).
93.TP
94.B NORETRY
95Avoid retry attempts in case of fork failure.
96.TP
97.B IDONLY
98Accept connections only when the remote end identifies the remote user
99(i.e. the remote host must run an identification server).
100This flag applies only to connection-based services.
101This flag is ineffective if the
102.B USERID
103log option is not used.
104.TP
105.B NAMEINARGS
106This will cause the first argument in "server_args" to be argv[0] when
107executing the server, as specified in "server". This allows you to use
108tcpd by putting tcpd in "server" and the name of the server in "server_args"
109like in normal inetd.
110.TP
111.B NODELAY
112If the service is a tcp service and the NODELAY flag is set, then the
113TCP_NODELAY flag will be set on the socket. If the service is not
114a tcp service, this option has no effect.
115.TP
116.B KEEPALIVE
117If the service is a tcp service and the KEEPALIVE flag is set, then
118the SO_KEEPALIVE socket flag will be set on the socket. If the service
119is not a tcp service, this option has no effect.
120.TP
121.B NOLIBWRAP
122This disables internal calling of the tcpwrap library to determine access
123to the service. This may be needed in order to use libwrap functionality
124not available to long-running processes such as xinetd; in this case,
125the tcpd program can be called explicitly (see also the NAMEINARGS flag).
126For RPC services using TCP transport, this flag is automatically turned on,
127because xinetd cannot get remote host address information for the rpc port.
128.TP
129.B SENSOR
130This replaces the service with a sensor that detects accesses to the
131specified port. NOTE: It will NOT detect stealth scans. This flag
132should be used only on services that you know you don't need. When an
133access is made to this service's port, the IP Address is added to a global
134no_access list. This causes all subsequent accesses from the originating IP
135address to be denied access until the deny_time setting expires. The amount
136of time spent on this list is configurable as the deny_time attribute. The
137SENSOR flag will also cause xinetd to consider the server attribute to be
138INTERNAL no matter what is typed on the same line. Another important thing
139to remember is that if the socket_type is set to stream, then the wait
140attribute should be set to no.
141.TP
142.B IPv4
143Sets the service to be an IPv4 service (AF_INET).
144.TP
145.B IPv6
146Sets the service to be an IPv6 service (AF_INET6), if IPv6 is available on the system.
147.TP
148.B LABELED
149The LABELED flag will tell xinetd to change the child processes SE Linux context to match that of the incoming connection as it starts the service. This only works for external tcp non-waiting servers and is an error if applied to an internal, udp, or tcp-wait server.
150.TP
151.B REUSE
152The REUSE flag is deprecated. All services now implicitly use the REUSE flag.
153.RE
154.TP
155.B disable
156This is boolean "yes" or "no". This will result in the service
157being disabled and not starting. See the DISABLE flag description.
158.RE
159.TP
160.B socket_type
161Possible values for this attribute include:
162.RS
163.TP 12
164.I stream
165stream-based service
166.TP
167.I dgram
168datagram-based service
169.TP
170.I raw
171service that requires direct access to IP
172.TP
173.I seqpacket
174service that requires reliable sequential datagram transmission
175.RE
176.TP
177.B protocol
178determines the protocol that is employed by the service.
179The protocol must exist in
180.I /etc/protocols.
181If this
182attribute is not defined, the default protocol employed by the service
183will be used.
184.TP
185.B wait
186This attribute determines if the service is single-threaded or
187multi-threaded and whether or not xinetd accepts the connection or the server
188program accepts the connection. If its value is \fIyes\fP, the service is
189single-threaded; this means that \fBxinetd\fP will start the server and then
190it will stop handling requests for the service until the server dies and that
191the server software will accept the connection. If the attribute value is
192\fIno\fP, the service is multi-threaded and \fBxinetd\fP will keep handling
193new service requests and xinetd will accept the connection. It should be noted
194that udp/dgram services normally expect the value to be yes since udp is not
195connection oriented, while tcp/stream servers normally expect the value to be
196no.
197.TP
198.B user
199determines the uid for the server process. The user attribute can either
200be numeric or a name. If a name is given (recommended), the user name must
201exist in
202.I /etc/passwd.
203This attribute is ineffective if the effective user ID
204of \fBxinetd\fP is not super-user.
205.TP
206.B group
207determines the gid for the server process. The group attribute can either
208be numeric or a name. If a name is given (recommended), the group name must
209exist in
210.I /etc/group.
211If a group is not specified, the group
212of \fIuser\fP will be used (from
213.I /etc/passwd).
214This attribute is ineffective if the effective user ID
215of \fBxinetd\fP is not super-user and if the \fBgroups\fP attribute
216is not set to 'yes'.
217.TP
218.B instances
219determines the number of servers that can be simultaneously active
220for a service (the default is no limit). The value of this
221attribute can be either a number or
222.B UNLIMITED
223which means that there is no limit.
224.TP
225.B nice
226determines the server priority. Its value is a (possibly negative) number;
227check nice(3) for more information.
228.TP
229.B server
230determines the program to execute for this service.
231.TP
232.B server_args
233determines the arguments passed to the server. In contrast to \fBinetd\fP,
234the server name should \fInot\fP be included in \fIserver_args\fP.
235.TP
236+.B libwrap
237overrides the service name passed to libwrap (which defaults to the
238server name, the first server_args component with NAMEINARGS, the id
239for internal services and the service name for redirected services).
240This attribute is only valid if xinetd has been configured with the libwrap
241option.
242.TP
243.B only_from
244determines the remote hosts to which the particular
245service is available.
246Its value is a list of IP addresses which can be specified in any
247combination of the following ways:
248.RS
249.TP 5
250.B a)
251a numeric address in the form of %d.%d.%d.%d. If the rightmost components are
2520, they are treated as wildcards
253(for example, 128.138.12.0 matches all hosts on the 128.138.12 subnet).
2540.0.0.0 matches all Internet addresses. IPv6 hosts may be specified in the form of abcd:ef01::2345:6789. The rightmost rule for IPv4 addresses does not apply to IPv6 addresses.
255.TP
256.B b)
257a factorized address in the form of %d.%d.%d.{%d,%d,...}.
258There is no need for all 4 components (i.e. %d.%d.{%d,%d,...%d} is also ok).
259However, the factorized part must be at the end of the address. This form does not work for IPv6 hosts.
260.TP
261.B c)
262a network name (from
263.I /etc/networks). This form does not work for IPv6 hosts.
264.TP
265.B d)
266a host name. When a connection is made to xinetd, a reverse lookup is
267performed, and the canonical name returned is compared to the specified host
268name. You may also use domain names in the form of .domain.com. If the
269reverse lookup of the client's IP is within .domain.com, a match occurs.
270.TP
271.B e)
272an ip address/netmask range in the form of 1.2.3.4/32. IPv6 address/netmask
273ranges in the form of 1234::/46 are also valid.
274.RE
275.TP
276.B ""
277Specifying this attribute
278without a value makes the service available to nobody.
279.TP
280.B no_access
281determines the remote hosts to which the particular
282service is unavailable. Its value can be specified in the same way as the
283value of the \fBonly_from\fP
284attribute. These two attributes determine the location access control
285enforced by \fBxinetd\fP. If none of the two is specified for a service,
286the service is available to anyone. If both are specified for a service,
287the one that is the better match for
288the address of the remote host determines
289if the service is available to that host (for example, if the
290\fBonly_from\fP list contains 128.138.209.0 and the
291\fBno_access\fP list contains 128.138.209.10
292then the host with the address 128.138.209.10 can not access the service).
293.TP
294.B access_times
295determines the time intervals when the service is available. An interval
296has the form \fIhour:min-hour:min\fP (connections
297.I will
298be accepted at the bounds of an interval). Hours can range from 0 to 23 and
299minutes from 0 to 59.
300.TP
301.B log_type
302determines where the service log output is sent. There are two formats:
303.RS
304.TP
305.B SYSLOG " \fIsyslog_facility [syslog_level]\fP"
306The log output is sent to syslog at the specified facility. Possible facility
307names include:
308.I daemon,
309.I auth,
310.I authpriv,
311.I user,
312.I mail,
313.I lpr,
314.I news,
315.I uucp,
316.I ftp
317.I "local0-7."
318Possible level names include:
319.I emerg,
320.I alert,
321.I crit,
322.I err,
323.I warning,
324.I notice,
325.I info,
326.I debug.
327If a level is not present, the messages will be recorded at the
328.I info
329level.
330.TP
331.B FILE " \fIfile [soft_limit [hard_limit]]\fP"
332The log output is appended to \fIfile\fP which will be created if it does
333not exist. Two limits on the size of the log file can be optionally specified.
334The first limit is a soft one;
335.B xinetd
336will log a message the first time this limit is exceeded (if
337.B xinetd
338logs to syslog, the message will be sent at the
339.I alert
340priority level).
341The second limit is a hard limit;
342.B xinetd
343will stop logging for the affected service (if the log file is a
344common log file, then more than one service may be affected)
345and will log a message about this (if
346.B xinetd
347logs to syslog, the message will be sent at the
348.I alert
349priority level).
350If a hard limit is not specified, it defaults to the soft limit
351increased by 1% but the extra size must be within the parameters
352.SM LOG_EXTRA_MIN
353and
354.SM LOG_EXTRA_MAX
355which default to 5K and 20K respectively (these constants are defined in
356\fIxconfig.h\fP).
357.RE
358.TP
359.B log_on_success
360determines what information is logged when a server is started and when
361that server exits (the service id is always included in the log entry).
362Any combination of the following values may be specified:
363.RS
364.TP 12
365.B PID
366logs the server process id (if the service is implemented by \fBxinetd\fP
367without forking another process the logged process id will be 0)
368.TP
369.B HOST
370logs the remote host address
371.TP
372.B USERID
373logs the user id of the remote user using the RFC 1413 identification protocol.
374This option is available only for multi-threaded stream services.
375.TP
376.B EXIT
377logs the fact that a server exited along with the exit status or the
378termination signal
379(the process id is also logged if the
380.B PID
381option is used)
382.TP
383.B DURATION
384logs the duration of a service session
385.TP
386.B TRAFFIC
387logs the total bytes in and out for a redirected service.
388.RE
389.TP
390.B log_on_failure
391determines what information is logged when a server cannot be started
392(either because of a lack of resources or because of access control
393restrictions). The service id is always included in the log entry along
394with the reason for failure.
395Any combination of the following values may be specified:
396.RS
397.TP 12
398.B HOST
399logs the remote host address.
400.TP
401.B USERID
402logs the user id of the remote user using the RFC 1413 identification protocol.
403This option is available only for multi-threaded stream services.
404.TP
405.B ATTEMPT
406logs the fact that a failed attempt was made
407(this option is implied by all others).
408.RE
409.TP
410.B rpc_version
411determines the RPC version for a RPC service. The version can be
412a single number or a range in the form \fInumber\fP-\fInumber\fP.
413.TP
414.B rpc_number
415determines the number for an
416.I UNLISTED
417RPC service (this attribute is ignored if the service is not unlisted).
418.TP
419.B env
420The value of this attribute is a list of strings of the form 'name=value'.
421These strings will be added to the environment before
422starting a server (therefore the server's environment will include
423\fBxinetd\fP's environment plus the specified strings).
424.TP
425.B passenv
426The value of this attribute is a list of environment variables from
427\fBxinetd\fP's environment that will be passed to the server.
428An empty list implies passing no variables to the server
429except for those explicitly defined using the
430.I env
431attribute.
432(notice that you can use this attribute in conjunction with the
433.I env
434attribute to specify exactly what environment will be passed to the server).
435.TP
436.B port
437determines the service port. If this attribute is specified for a service
438listed in
439.I /etc/services,
440it must be equal to the port number listed in that file.
441.TP
442.B redirect
443Allows a tcp service to be redirected to another host. When xinetd receives
444a tcp connection on this port it spawns a process that establishes a
445connection to the host and port number specified, and forwards all data
446between the two hosts. This option is useful when your internal machines
447are not visible to the outside world. Syntax is: redirect = (ip address)
448(port). You can also use a hostname instead of the IP address in this
449field. The hostname lookup is performed only once, when xinetd is
450started, and the first IP address returned is the one that is used
451until xinetd is restarted.
452The "server" attribute is not required when this option is specified. If
453the "server" attribute is specified, this attribute takes priority.
454.TP
455.B bind
456Allows a service to be bound to a specific interface on the machine.
457This means you can have a telnet server listening on a local, secured
458interface, and not on the external interface. Or one port on one interface
459can do something, while the same port on a different interface can do
460something completely different. Syntax: bind = (ip address of interface).
461.TP
462.B interface
463Synonym for bind.
464.TP
465.B banner
466Takes the name of a file to be splatted at the remote host when a
467connection to that service is established. This banner is printed
468regardless of access control. It should *always* be printed when
469a connection has been made. \fBxinetd\fP outputs the file as-is,
470so you must ensure the file is correctly formatted for the service's
471protocol. In paticular, if the protocol requires CR-LF pairs for line
472termination, you must supply them.
473.TP
474.B banner_success
475Takes the name of a file to be splatted at the remote host when a
476connection to that service is granted. This banner is printed
477as soon as access is granted for the service. \fBxinetd\fP outputs the
478file as-is, so you must ensure the file is correctly formatted for
479the service's protocol. In paticular, if the protocol requires CR-LF
480pairs for line termination, you must supply them.
481.TP
482.B banner_fail
483Takes the name of a file to be splatted at the remote host when a
484connection to that service is denied. This banner is printed
485immediately upon denial of access. This is useful for informing
486your users that they are doing something bad and they shouldn't be
487doing it anymore. \fBxinetd\fP outputs the file as-is,
488so you must ensure the file is correctly formatted for the service's
489protocol. In paticular, if the protocol requires CR-LF pairs for line
490termination, you must supply them.
491.TP
492.B per_source
493Takes an integer or "UNLIMITED" as an argument. This specifies the
494maximum instances of this service per source IP address. This can
495also be specified in the defaults section.
496.TP
497.B cps
498Limits the rate of incoming connections. Takes two arguments.
499The first argument is the number of connections per second to handle.
500If the rate of incoming connections is higher than this, the service
501will be temporarily disabled. The second argument is the number of
502seconds to wait before re-enabling the service after it has been disabled.
503The default for this setting is 50 incoming connections and the interval
504is 10 seconds.
505.TP
506.B max_load
507Takes a floating point value as the load at which the service will
508stop accepting connections. For example: 2 or 2.5. The service
509will stop accepting connections at this load. This is the one minute
510load average. This is an OS dependent feature, and currently only
511Linux, Solaris, and FreeBSD are supported for this. This feature is
512only avaliable if xinetd was configured with the -with-loadavg option.
513.TP
514.B groups
515Takes either "yes" or "no". If the groups attribute is set to
516"yes", then the server is executed with access to the groups that the
517server's effective UID has access to. Alternatively, if the \fBgroup\fP
518attribute is set, the server is executed with access to the groups
519specified. If the groups attribute is set
520to "no", then the server runs with no supplementary groups. This
521attribute must be set to "yes" for many BSD systems. This attribute
522can be set in the defaults section as well.
523.TP
524.B mdns
525Takes either "yes" or "no". On systems that support mdns registration
526of services (currently only Mac OS X), this will enable or disable
527registration of the service. This defaults to "yes".
528.TP
529.B umask
530Sets the inherited umask for the service. Expects an octal value.
531This option may be set in the "defaults" section to set a umask
532for all services. xinetd sets its own umask to the previous umask
533OR'd with 022. This is the umask that will be inherited by all
534child processes if the umask option is not used.
535.TP
536.B enabled
537Takes a list of service ID's to enable. This will enable only the
538services listed as arguments to this attribute; the rest will be
539disabled. If you have 2 ftp services, you will need to list both of
540their ID's and not just ftp. (ftp is the service name, not the ID. It
541might accidentally be the ID, but you better check.) Note that the
542service "disable" attribute and "DISABLE" flag can prevent a service
543from being enabled despite being listed in this attribute.
544.TP
545.B include
546Takes a filename in the form of "include /etc/xinetd/service".
547The file is then parsed as a new configuration file. It is not
548the same thing as pasting the file into xinetd.conf where the
549include directive is given. The included file must be in the
550same form as xinetd.conf. This may not be specified from within
551a service. It must be specified outside a service declaration.
552.TP
553.B includedir
554Takes a directory name in the form of "includedir /etc/xinetd.d".
555Every file inside that directory, excluding files with names containing
556a dot ('.') or ending with a tilde ('~'), will be parsed as xinetd
557configuration files. The files will be parsed in alphabetical order
558according to the C locale. This allows you to specify services one
559per file within a directory. The
560.B includedir
561directive may not be specified from within a service declaration.
562.TP
563.B rlimit_as
564Sets the Address Space resource limit for the service. One parameter
565is required, which is either a positive integer representing the number
566of bytes to set the limit to (K or M may be used to specify
567kilobytes/megabytes) or "UNLIMITED". Due to the way Linux's libc malloc
568is implemented, it is more useful to set this limit than rlimit_data,
569rlimit_rss and rlimit_stack. This resource limit is only implemented on
570Linux systems.
571.TP
572.B rlimit_cpu
573Sets the maximum number of CPU seconds that the service may use.
574One parameter is required, which is either a positive integer representing
575the number of CPU seconds limit to, or "UNLIMITED".
576.TP
577.B rlimit_data
578Sets the maximum data size resource limit for the service.
579One parameter is required, which is either a positive integer representing
580the number of bytes or "UNLIMITED".
581.TP
582.B rlimit_rss
583Sets the maximum resident set size limit for the service. Setting this
584value low will make the process a likely candidate for swapping out to
585disk when memory is low.
586One parameter is required, which is either a positive integer representing
587the number of bytes or "UNLIMITED".
588.TP
589.B rlimit_stack
590Set the maximum stack size limit for the service.
591One parameter is required, which is either a positive integer representing
592the number of bytes or "UNLIMITED".
593.TP
594.B deny_time
595Sets the time span that access to all services on all IP addresses are
596denied to someone that sets off the SENSOR. The unit of time is in minutes.
597Valid options are: FOREVER, NEVER, and a numeric value. FOREVER causes
598the IP address not to be purged until xinetd is restarted. NEVER has the
599effect of just logging the offending IP address. A typical time value would
600be 60 minutes. This should stop most DOS attacks while allowing IP addresses
601that come from a pool to be recycled for legitimate purposes. This option
602must be used in conjunction with the SENSOR flag.
603.LP
604You don't need to specify all of the above attributes for each service.
605The necessary attributes for a service are:
606.sp 1
607.PD .1v
608.RS
609.TP 18
610.B socket_type
611.TP
612.B user
613(non-\fIinternal\fP services only)
614.TP
615.B server
616(non-\fIinternal\fP services only)
617.TP
618.B wait
619.TP
620.B protocol
621(\fIRPC\fP and \fIunlisted\fP services only)
622.TP
623.B rpc_version
624(\fIRPC\fP services only)
625.TP
626.B rpc_number
627(\fIunlisted\fP RPC services only)
628.TP
629.B port
630(\fIunlisted\fP non-RPC services only)
631.RE
632.PD
633.LP
634The following attributes support all assignment operators:
635.sp 1
636.PD .1v
637.RS
638.TP 18
639.B only_from
640.TP
641.B no_access
642.TP
643.B log_on_success
644.TP
645.B log_on_failure
646.TP
647.B passenv
648.TP
649.B env
650(does not support the
651.B '-='
652operator)
653.RE
654.PD
655.LP
656These attributes can also appear more than once in a service entry.
657The remaining attributes support only the
658.B '='
659operator and can appear at most once in a service entry.
660.LP
661The configuration file may also contain a single defaults entry
662that has the form
663.LP
664.RS
665.nf
666.ft B
667defaults
668{
669.RS
670.ft B
671<attribute> = <value> <value> ...
672.I "..."
673.RE
674.ft B
675}
676.ft R
677.fi
678.RE
679.LP
680This entry provides default attribute values for service entries that
681don't specify those attributes. Possible default attributes:
682.sp 1
683.PD .1v
684.RS
685.TP 18
686.B log_type
687(cumulative effect)
688.TP
689.B bind
690.TP
691.B per_source
692.TP
693.B umask
694.TP
695.B log_on_success
696(cumulative effect)
697.TP
698.B log_on_failure
699(cumulative effect)
700.TP
701.B only_from
702(cumulative effect)
703.TP
704.B no_access
705(cumulative effect)
706.TP
707.B passenv
708(cumulative effect)
709.TP
710.B instances
711.TP
712.B disabled
713(cumulative effect)
714.TP
715.B enabled
716(cumulative effect)
717.TP
718.B banner
719.TP
720.B banner_success
721.TP
722.B banner_fail
723.TP
724.B per_source
725.TP
726.B groups
727.TP
728.B cps
729.TP
730.B max_load
731.TP
732.RE
733.PD
734.LP
735Attributes with a cumulative effect can be specified multiple times
736with the values specified each time accumulating (i.e. '=' does
737the same thing as '+=').
738With the exception of
739.I disabled
740they all have the same meaning as if they were specified in a service entry.
741.I disabled
742determines services that are disabled even if they have entries in
743the configuration file. This allows for quick reconfiguration by
744specifying disabled services with the
745.I disabled
746attribute instead of commenting them out.
747The value of this attribute is a list of space separated service ids.
748.I enabled
749has the same properties as disabled. The difference being that
750.I enabled
751is a list of which services are to be enabled. If
752.I enabled
753is specified, only the services specified are available. If
754.I enabled
755is not specified, all services are assumed to be enabled,
756except those listed in
757.I disabled.
758
759.\" *********************** INTERNAL SERVICES ****************************
760.SH "INTERNAL SERVICES"
761.LP
762\fBxinetd\fP provides the following services internally (both
763stream and datagram based):
764.I echo,
765.I time,
766.I daytime,
767.I chargen,
768and
769.I discard.
770These services are under the same access restrictions as all other
771services except for the ones that don't require \fBxinetd\fP to fork
772another process for them. Those ones (\fItime\fP, \fIdaytime\fP,
773and the datagram-based \fIecho\fP, \fIchargen\fP, and \fIdiscard\fP)
774have no limitation in the number of
775.B instances.
776.LP
777.\" *********************** TCPMUX Services ****************************
778.SH "TCPMUX Services"
779.LP
780\fBxinetd\fP supports TCPMUX services that conform to RFC 1078. These services
781may not have a well-known port associated with them, and can be accessed via
782the TCPMUX well-known port.
783.LP
784For each service that is to be accessed via TCPMUX, a service entry in
785\fB/etc/xinetd.conf\fP or in a configuration file in an \fBincludedir\fP
786directory must exist.
787.LP
788The \fIservice_name\fP field (as defined above for each service in any
789\fBxinetd\fP
790configuration file) must be identical to the string that is passed (according
791to RFC 1078 protocol) to \fBxinetd\fP when the remote service requestor first
792makes the connection on the TCPMUX well-known port. Private protocols should
793use a service name that has a high probability of being unique. One way is to
794prepend the service name with some form of organization ID.
795.LP
796The \fItype\fP field can be either \fBTCPMUX\fP or \fBTCPMUXPLUS\fP. If the
797type is \fBTCPMUXPLUS\fP, \fBxinetd\fP will handle the initial protocol
798handshake (as defined in RFC 1078) with the calling process before initiating
799the service. If the type is \fBTCPMUX\fP, the server that is started is
800responsible for performing the handshake.
801.LP
802The \fItype\fP field should also include \fBUNLISTED\fP if the service is
803not listed in a standard system file
804(like
805.I /etc/rpc
806for RPC services, or
807.I /etc/services
808for non-RPC services).
809.LP
810The \fIsocket_type\fP for these services must be \fBstream\fP, and the
811\fIprotocol\fP must be \fBtcp\fP.
812.LP
813Following is a sample TCPMUX service configuration:
814.PD .1v
815.RS
816.nf
817
818service myorg_server
819{
820.RS
821.IP disable 20
822= no
823.IP type
824= TCPMUX
825.IP socket_type
826= stream
827.IP protocol
828= tcp
829.IP wait
830= no
831.IP user
832= root
833.IP server
834= /usr/etc/my_server_exec
835.RE
836}
837.fi
838.RE
839.PD
840.LP
841Besides a service entry for each service that can be accessed
842via the TCPMUX well-known port, a service entry for TCPMUX itself
843must also be included in the \fBxinetd\fP configuration. Consider the following
844sample:
845.PD .1v
846.RS
847.nf
848
849service tcpmux
850{
851.RS
852.IP type 20
853= INTERNAL
854.IP id
855= tcpmux
856.IP socket_type
857= stream
858.IP protocol
859= tcp
860.IP user
861= root
862.IP wait
863= no
864.RE
865}
866.fi
867.RE
868.PD
869
870
871
872.\" *********************** NOTES ****************************
873.SH NOTES
874.IP 1. 4
875The following service attributes \fIcannot\fP be changed on reconfiguration:
876.B socket_type,
877.B wait,
878.B protocol,
879.B type.
880.IP 2.
881When the attributes
882.I only_from
883and
884.I no_access
885are not specified for a service (either directly or via \fIdefaults\fP)
886the address check is considered successful (i.e. access will not be
887denied).
888.IP 3.
889The address check is based on the IP address of the remote host and
890not on its domain address. We do this so that we can avoid
891remote name lookups which may take a long time (since
892.B xinetd
893is single-threaded, a name lookup will prevent the daemon from
894accepting any other requests until the lookup is resolved).
895The down side of this scheme is that if the IP address of a remote
896host changes, then access to that host may be denied until
897.B xinetd
898is reconfigured.
899Whether access is actually denied or not will depend on whether the
900new host IP address is among those allowed access. For example, if
901the IP address of a host changes from 1.2.3.4 to 1.2.3.5 and
902only_from is specified as 1.2.3.0 then access will not be denied.
903.IP 4.
904If the
905.B USERID
906log option is specified and the remote host either does not run an
907identification server or the server sends back a bad reply,
908access will not be denied unless the
909.I IDONLY
910service flag is used.
911.IP 5.
912Interception works by forking a process which acts as a filter
913between the remote host(s) and the local server.
914This obviously has a performance impact so
915it is up to you to make the compromise between security and performance
916for each service.
917The following tables show the overhead of interception.
918The first table shows the time overhead-per-datagram for a UDP-based service
919using various datagram sizes.
920For TCP-based services we measured the bandwidth reduction
921because of interception while sending
922a certain amount of data from client to server (the time overhead should
923the same as for UDP-based services but it is "paid" only by the first
924packet of a continuous data transmission).
925The amount of data is given
926in the table as \fIsystem_calls\fPx\fIdata_sent_per_call\fP, i.e.
927each
928.I "send(2)"
929system call transferred so many bytes of data.
930The bandwidth reduction is given in terms of bytes per second and as
931a percentage of the bandwidth when interception is not performed.
932All measurements were done on a SparcStation IPC running SunOS 4.1.
933.sp 1
934.RS
935.RS
936.PD .1v
937.TP 25
938Datagram size (bytes)
939Latency (msec)
940.TP
941---------------------
942--------------
943.TP
94464
9451.19
946.TP
947256
9481.51
949.TP
9501024
9511.51
952.TP
9534096
9543.58
955.sp 2
956.TP
957Bytes sent
958Bandwidth reduction
959.TP
960----------
961-------------------
962.TP
96310000x64
964941 (1.2%)
965.TP
96610000x256
9674,231 (1.8%)
968.TP
96910000x1024
970319,300 (39.5%)
971.TP
97210000x4096
973824,461 (62.1%)
974.RE
975.RE
976.sp 1
977.\" *********************** EXAMPLE ****************************
978.SH EXAMPLE
979.LP
980.PD .1v
981.RS
982.nf
983#
984# Sample configuration file for xinetd
985#
986
987defaults
988{
989.RS
990.IP log_type 20
991= FILE /var/log/servicelog
992.IP log_on_success
993= PID
994.IP log_on_failure
995= HOST
996.IP only_from
997= 128.138.193.0 128.138.204.0
998.IP only_from
999= 128.138.252.1
1000.IP instances
1001= 10
1002.IP disabled
1003= rstatd
1004.RE
1005}
1006
1007#
1008# Note 1: the protocol attribute is not required
1009# Note 2: the instances attribute overrides the default
1010#
1011service login
1012{
1013.RS
1014.IP socket_type 20
1015= stream
1016.IP protocol
1017= tcp
1018.IP wait
1019= no
1020.IP user
1021= root
1022.IP server
1023= /usr/etc/in.rlogind
1024.IP instances
1025= UNLIMITED
1026.RE
1027}
1028
1029#
1030# Note 1: the instances attribute overrides the default
1031# Note 2: the log_on_success flags are augmented
1032#
1033service shell
1034{
1035.RS
1036.IP socket_type 20
1037= stream
1038.IP wait
1039= no
1040.IP user
1041= root
1042.IP instances
1043= UNLIMITED
1044.IP server
1045= /usr/etc/in.rshd
1046.IP log_on_success
1047+= HOST
1048.RE
1049}
1050
1051service ftp
1052{
1053.RS
1054.IP socket_type 20
1055= stream
1056.IP wait
1057= no
1058.IP nice
1059= 10
1060.IP user
1061= root
1062.IP server
1063= /usr/etc/in.ftpd
1064.IP server_args
1065= -l
1066.IP instances
1067= 4
1068.IP log_on_success
1069+= DURATION HOST USERID
1070.IP access_times
1071= 2:00-9:00 12:00-24:00
1072.RE
1073}
1074
1075# Limit telnet sessions to 8 Mbytes of memory and a total
1076# 20 CPU seconds for child processes.
1077service telnet
1078{
1079.RS
1080.IP socket_type 20
1081= stream
1082.IP wait
1083= no
1084.IP nice
1085= 10
1086.IP user
1087= root
1088.IP server
1089= /usr/etc/in.telnetd
1090.IP rlimit_as
1091= 8M
1092.IP rlimit_cpu
1093= 20
1094.RE
1095}
1096
1097#
1098# This entry and the next one specify internal services. Since
1099# this is the same service using a different socket type, the
1100# id attribute is used to uniquely identify each entry
1101#
1102service echo
1103{
1104.RS
1105.IP id 20
1106= echo-stream
1107.IP type
1108= INTERNAL
1109.IP socket_type
1110= stream
1111.IP user
1112= root
1113.IP wait
1114= no
1115.RE
1116}
1117
1118service echo
1119{
1120.RS
1121.IP id 20
1122= echo-dgram
1123.IP type
1124= INTERNAL
1125.IP socket_type
1126= dgram
1127.IP user
1128= root
1129.IP wait
1130= no
1131.RE
1132}
1133
1134#
1135# Sample RPC service
1136#
1137service rstatd
1138{
1139.RS
1140.IP type 20
1141= RPC
1142.IP socket_type
1143= dgram
1144.IP protocol
1145= udp
1146.IP server
1147= /usr/etc/rpc.rstatd
1148.IP wait
1149= yes
1150.IP user
1151= root
1152.IP rpc_version
1153= 2-4
1154.IP env
1155= LD_LIBRARY_PATH=/etc/securelib
1156.RE
1157}
1158
1159#
1160# Sample unlisted service
1161#
1162service unlisted
1163{
1164.RS
1165.IP type 20
1166= UNLISTED
1167.IP socket_type
1168= stream
1169.IP protocol
1170= tcp
1171.IP wait
1172= no
1173.IP server
1174= /home/user/some_server
1175.IP port
1176= 20020
1177.RE
1178}
1179.RE
1180.PD
1181.\" *********************** SEE ALSO ****************************
1182.SH "SEE ALSO"
1183.I "xinetd(1L),"
1184.LP
1185.I "xinetd.log(5)"
1186.LP
1187Postel J.,
1188.IR "Echo Protocol" ,
1189RFC 862,
1190May 1983
1191.LP
1192Postel J.,
1193.IR "Discard Protocol" ,
1194RFC 863,
1195May 1983
1196.LP
1197Postel J.,
1198.IR "Character Generator Protocol" ,
1199RFC 864,
1200May 1983
1201.LP
1202Postel J.,
1203.IR "Daytime Protocol" ,
1204RFC 867,
1205May 1983
1206.LP
1207Postel J., Harrenstien K.,
1208.IR "Time Protocol" ,
1209RFC 868,
1210May 1983
1211.LP
1212M. Lottor,
1213.IR "TCP Port Service Multiplexer (TCPMUX)" ,
1214RFC 1078
1215Nov 1988
1216.LP
1217StJohns M.,
1218.IR " Identification Protocol" ,
1219RFC 1413,
1220February 1993
1221.\" *********************** BUGS ****************************
1222.SH BUGS
1223.LP
1224If the
1225.B INTERCEPT
1226flag is not used,
1227access control on the address of the remote host is not performed when
1228\fIwait\fP is \fIyes\fP and \fIsocket_type\fP is \fIstream\fP.
1229.LP
1230The NOLIBWRAP flag is automatically turned on for RPC services whose
1231\fIsocket_type\fP is \fIstream\fP because xinetd cannot determine the
1232address of the remote host.
1233.LP
1234If the
1235.B INTERCEPT
1236flag is not used,
1237access control on the address of the remote host for
1238services where \fIwait\fP is \fIyes\fP and \fIsocket_type\fP is \fIdgram\fP
1239is performed only on the first packet. The server may then accept packets
1240from hosts not in the access control list. This can happen with
1241.B RPC
1242services.
1243.LP
1244There is no way to put a
1245.SM SPACE
1246in an environment variable.
1247.LP
1248When \fIwait\fP is \fIyes\fP and \fIsocket_type\fP is \fIstream\fP,
1249the socket passed to the server can only accept connections.
1250.LP
1251The
1252.B INTERCEPT
1253flag is not supported for internal services or multi-threaded services.
01254
=== added file '.pc/000001-documentation_fixes/xinetd/xinetd.man'
--- .pc/000001-documentation_fixes/xinetd/xinetd.man 1970-01-01 00:00:00 +0000
+++ .pc/000001-documentation_fixes/xinetd/xinetd.man 2013-08-14 10:06:03 +0000
@@ -0,0 +1,194 @@
1.\"(c) Copyright 1992 by Panagiotis Tsirigotis
2.\"(c) Sections Copyright 1998-2001 by Rob Braun
3.\"All rights reserved. The file named COPYRIGHT specifies the terms
4.\"and conditions for redistribution.
5.\"
6.\" $Id: xinetd.man,v 1.3 2003-05-30 15:10:57 steveg Exp $
7.TH XINETD 8 "14 June 2001"
8.\" *************************** NAME *********************************
9.SH NAME
10xinetd \- the extended Internet services daemon
11.\" *************************** SYNOPSIS *********************************
12.SH SYNOPSIS
13.B xinetd
14[\fIoptions\fP]
15.\" *************************** DESCRIPTION *********************************
16.SH DESCRIPTION
17\fBxinetd\fP performs the same function as \fBinetd\fP: it starts
18programs that provide Internet services. Instead of having such
19servers started at system initialization time, and be dormant until a
20connection request arrives, \fBxinetd\fP is the only daemon process
21started and it listens on all service ports for the services listed in
22its configuration file. When a request comes in, \fBxinetd\fP starts
23the appropriate server. Because of the way it operates, \fBxinetd\fP
24(as well as \fBinetd\fP) is also referred to as a super-server.
25.LP
26The services listed in \fBxinetd\fP's configuration file can be
27separated into two groups. Services in the first group are called
28.I "multi-threaded"
29and they require the forking of a new server process for each new
30connection request. The new server then handles that connection. For
31such services, \fBxinetd\fP keeps listening for new requests so that it
32can spawn new servers. On the other hand, the second group includes
33services for which the service daemon is responsible for handling all
34new connection requests. Such services are called
35.I "single-threaded"
36and \fBxinetd\fP will stop handling new requests for them until the
37server dies. Services in this group are usually datagram-based.
38.LP
39So far, the only reason for the existence of a super-server was to
40conserve system resources by avoiding to fork a lot of processes which
41might be dormant for most of their lifetime. While fulfilling this
42function, \fBxinetd\fP takes advantage of the idea of a super-server to
43provide features such as access control and logging. Furthermore,
44\fBxinetd\fP is not limited to services listed in
45.I /etc/services.
46Therefore, anybody can use \fBxinetd\fP to start special-purpose
47servers.
48.\" *************************** OPTIONS *********************************
49.SH OPTIONS
50.TP
51.BR \-d
52Enables debug mode. This produces a lot of debugging output, and it
53makes it possible to use a debugger on \fBxinetd\fP.
54.TP
55.BI \-syslog " syslog_facility"
56This option enables syslog logging of \fBxinetd\fP-produced messages
57using the specified syslog facility.
58The following facility names are supported:
59.I daemon,
60.I auth,
61.I user,
62.I "local[0-7]"
63(check \fIsyslog.conf(5)\fP for their meanings).
64This option is ineffective in debug mode since all relevant messages are sent
65to the terminal.
66.TP
67.BI \-filelog " logfile"
68\fBxinetd\fP-produced messages will be placed in the specified file.
69Messages are always appended to the file.
70If the file does not exist, it will be created.
71This option is ineffective in debug mode since all relevant messages are sent
72to the terminal.
73.TP
74.BI \-f " config_file"
75Determines the file that \fBxinetd\fP uses for configuration. The
76default is \fI/etc/xinetd.conf\fP.
77.TP
78.BR \-pidfile " pid_file"
79.br
80The process ID is written to the file. This option is ineffective in debug mode.
81.TP
82.BI \-dontfork
83Tells xinetd to stay in the foreground rather than detaching itself, to
84support being run from init or daemontools. This option automatically sets
85.B \-stayalive
86(see below).
87.TP
88.BI \-stayalive
89Tells xinetd to stay running even if no services are specified.
90.TP
91.BI \-limit " proc_limit"
92This option places a limit on the number of concurrently running processes
93that can be started by
94.B xinetd.
95Its purpose is to prevent process table overflows.
96.TP
97.BI \-logprocs " limit"
98This option places a limit on the number of concurrently running servers
99for remote userid acquisition.
100.TP
101.BI \-version
102This option causes xinetd to print out its version information.
103.TP
104.BI \-inetd_compat
105This option causes xinetd to read /etc/inetd.conf in addition to the
106standard xinetd config files. /etc/inetd.conf is read after the
107standard xinetd config files.
108.TP
109.BI \-cc " interval"
110This option instructs
111.B xinetd
112to perform periodic consistency checks on its internal state every
113.I interval
114seconds.
115.LP
116The \fIsyslog\fP and \fIfilelog\fP options are mutually exclusive.
117If none is specified, the default is syslog using the
118.I daemon
119facility.
120You should not confuse \fBxinetd\fP messages with messages related to
121service logging. The latter are logged only if this is specified
122via the configuration file.
123.\" *********************** CONTROLLING XINETD ****************************
124.SH "CONTROLLING XINETD"
125.LP
126\fBxinetd\fP performs certain actions when it receives certain signals.
127The actions associated with the specific signals can be redefined
128by editing \fIconfig.h\fP and recompiling.
129.TP 15
130.B SIGHUP
131causes a hard reconfiguration, which means that \fBxinetd\fP re-reads
132the configuration file and terminates the servers for services that
133are no longer available. Access control is performed again on
134running servers by checking the remote location, access times and
135server instances. If the number of server instances is lowered, some
136arbitrarily picked servers will be killed to satisfy the limit; this
137will happen \fIafter\fP any servers are terminated because of failing
138the remote location or access time checks.
139Also, if the
140.B INTERCEPT
141flag was clear and is set, any running servers for that service will
142be terminated;
143\fIthe purpose of this is to ensure that after a hard reconfiguration
144there will be no running servers that can accept packets from addresses
145that do not meet the access control criteria\fP.
146.TP
147.B SIGQUIT
148causes program termination.
149.TP
150.B SIGTERM
151terminates all running servers before terminating \fBxinetd\fP.
152.TP
153.B SIGUSR1
154causes an internal state dump (the default dump file is
155\fI/var/run/xinetd.dump\fP;
156to change the filename, edit \fIconfig.h\fP and recompile).
157.TP
158.B SIGIOT
159causes an internal consistency check to verify that the data structures
160used by the program have not been corrupted.
161When the check is completed
162.B xinetd
163will generate a message that says if the check was successful or not.
164.LP
165On reconfiguration the log files are closed and reopened. This allows
166removal of old log files.
167.\" *********************** FILES ****************************
168.SH FILES
169.LP
170.PD .1v
171.TP 20
172.B /etc/xinetd.conf
173default configuration file
174.TP
175.B /var/run/xinetd.dump
176default dump file
177.PD
178.\" *********************** SEE ALSO ****************************
179.SH "SEE ALSO"
180.I "inetd(8),"
181.LP
182.I "xinetd.conf(5),"
183.LP
184.I "xinetd.log(5)"
185.LP
186.I "http://cr.yp.to/daemontools.html"
187.\" *********************** AUTHOR ****************************
188.SH AUTHOR
189Panos Tsirigotis, CS Dept, University of Colorado, Boulder
190Rob Braun
191.\" *********************** PRONUNCIATION ****************************
192.SH PRONUNCIATION
193zy-net-d
194
0195
=== added directory '.pc/000004-Fix-xinetd.log.man-installation-path'
=== added file '.pc/000004-Fix-xinetd.log.man-installation-path/.timestamp'
=== added file '.pc/000004-Fix-xinetd.log.man-installation-path/Makefile.in'
--- .pc/000004-Fix-xinetd.log.man-installation-path/Makefile.in 1970-01-01 00:00:00 +0000
+++ .pc/000004-Fix-xinetd.log.man-installation-path/Makefile.in 2013-08-14 10:06:03 +0000
@@ -0,0 +1,123 @@
1CC = @CC@
2
3INSTALL_CMD = @INSTALL@
4
5RANLIB = @RANLIB@
6SRCDIR = @srcdir@
7VPATH = @srcdir@
8
9prefix = @prefix@
10exec_prefix = @exec_prefix@
11DAEMONDIR = @sbindir@
12MANDIR = @mandir@
13topdir = @top_srcdir@
14
15LIBS = -lsio -lstr -lmisc -lxlog -lportable -lpset @LIBS@
16
17CFLAGS += @CFLAGS@
18DCFLAGS = -Wall -Wredundant-decls -W -Wfloat-equal -Wundef -Wcast-qual -Wwrite-strings -Wmissing-noreturn -Wmissing-format-attribute -Wshadow -Wpointer-arith -Wno-unused -g
19
20
21DEFS = @DEFS@
22
23SIO_DEFS = @DEFS@
24MISC_DEFS = @DEFS@
25LIB_DEFS = @DEFS@
26PROG_DEFS = @DEFS@
27
28LIBMAKEDEFS = CC='$(CC)' CFLAGS='$(CFLAGS) -I../../include'
29PROGMAKEDEFS = CC='$(CC)' CFLAGS='$(CFLAGS) -I../libs/include' LDFLAGS='$(LDFLAGS) -L../libs/lib'
30DEBUGLIBMAKEDEFS = CC='$(CC)' CFLAGS='$(DCFLAGS) -I../../include'
31DEBUGMAKEDEFS = CC='$(CC)' CFLAGS='$(DCFLAGS) -I../libs/include' LDFLAGS='$(LDFLAGS) -L../libs/lib'
32
33MANDATORY_LIBS = portable sio str misc xlog pset
34ALL_LIBS = portable sio str misc xlog pset
35
36build: makelibs makeprog
37
38debug: debugmakelibs debugmakeprog
39
40makeprog: makelibs
41 cd xinetd ; $(MAKE) $(PROGMAKEDEFS)
42
43debugmakeprog:
44 cd xinetd ; $(MAKE) $(DEBUGMAKEDEFS)
45
46makelibs: libmisc libportable libpset libsio libstr libxlog
47
48debugmakelibs: dlibmisc dlibportable dlibpset dlibsio dlibstr dlibxlog
49
50libmisc: libstr
51 cd libs/src/misc ; $(MAKE) $(LIBMAKEDEFS) install
52libportable:
53 cd libs/src/portable ; $(MAKE) $(LIBMAKEDEFS) install
54libpset:
55 cd libs/src/pset ; $(MAKE) $(LIBMAKEDEFS) install
56libsio: libportable
57 cd libs/src/sio ; $(MAKE) $(LIBMAKEDEFS) install
58libstr: libsio
59 cd libs/src/str ; $(MAKE) $(LIBMAKEDEFS) install
60libxlog: libsio libstr
61 cd libs/src/xlog ; $(MAKE) $(LIBMAKEDEFS) install
62
63dlibmisc: dlibstr
64 cd libs/src/misc ; $(MAKE) $(DEBUGLIBMAKEDEFS) install
65dlibportable:
66 cd libs/src/portable ; $(MAKE) $(DEBUGLIBMAKEDEFS) install
67dlibpset:
68 cd libs/src/pset ; $(MAKE) $(DEBUGLIBMAKEDEFS) install
69dlibsio: dlibportable
70 cd libs/src/sio ; $(MAKE) $(DEBUGLIBMAKEDEFS) install
71dlibstr: dlibsio
72 cd libs/src/str ; $(MAKE) $(DEBUGLIBMAKEDEFS) install
73dlibxlog: dlibsio dlibstr
74 cd libs/src/xlog ; $(MAKE) $(DEBUGLIBMAKEDEFS) install
75
76install: build
77 for i in $(DAEMONDIR) $(BINDIR) $(MANDIR)/man5 $(MANDIR)/man8 ; do \
78 test -d $$i || mkdir -p $$i ; done
79 $(INSTALL_CMD) -m 755 xinetd/xinetd $(DAEMONDIR)
80 $(INSTALL_CMD) -m 755 xinetd/itox $(DAEMONDIR)
81 $(INSTALL_CMD) -m 755 $(SRCDIR)/xinetd/xconv.pl $(DAEMONDIR)
82 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.conf.man $(MANDIR)/man5/xinetd.conf.5
83 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.log.man $(MANDIR)/man8/xinetd.log.8
84 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.man $(MANDIR)/man8/xinetd.8
85 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/itox.8 $(MANDIR)/man8/itox.8
86 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xconv.pl.8 $(MANDIR)/man8/xconv.pl.8
87 @echo "You must put your xinetd.conf in /etc/xinetd.conf"
88 @echo "There is a sample config file in xinetd/sample.conf and you can"
89 @echo "use xconv.pl to convert your old inetd.conf file to an xinetd format"
90
91uninstall:
92 rm -f $(DAEMONDIR)/xinetd
93 rm -f $(DAEMONDIR)/itox
94 rm -f $(DAEMONDIR)/xconv.pl
95 rm -f $(MANDIR)/man5/xinetd.conf.5
96 rm -f $(MANDIR)/man8/xinetd.log.8
97 rm -f $(MANDIR)/man8/xinetd.8
98 rm -f $(MANDIR)/man8/itox.8
99
100distclean: clean
101 rm -f config.cache config.log Makefile config.status xinetd/itox
102 rm -f config.h @srcdir@/libs/include/* @srcdir@/libs/man/*
103 for lib in $(ALL_LIBS) ; do \
104 cd @srcdir@/libs/src/$$lib ; $(MAKE) distclean ; \
105 cd ../../.. ; \
106 done
107 cd xinetd ; $(MAKE) distclean
108
109clean: cleanlibs cleanprog
110 rm -f @srcdir@/libs/lib/*.a
111
112cleanlibs:
113 for lib in $(ALL_LIBS) ; do \
114 cd @srcdir@/libs/src/$$lib ; $(MAKE) clean ; \
115 cd ../../.. ; \
116 done
117
118cleanprog:
119 cd xinetd ; $(MAKE) clean
120
121spotless: clean
122 rm -f @srcdir@/libs/include/*.h @srcdir@/libs/man/*.3
123 cd libs ; for i in lib include man ; do rm $$i/* ; done
0124
=== added directory '.pc/000008-fix-manpages'
=== added file '.pc/000008-fix-manpages/.timestamp'
=== added directory '.pc/000008-fix-manpages/xinetd'
=== added file '.pc/000008-fix-manpages/xinetd/itox.8'
--- .pc/000008-fix-manpages/xinetd/itox.8 1970-01-01 00:00:00 +0000
+++ .pc/000008-fix-manpages/xinetd/itox.8 2013-08-14 10:06:03 +0000
@@ -0,0 +1,22 @@
1.TH ITOX 8 "March 2005" "xinetd"
2.SH NAME
3itox \- converts inetd.conf style configuration files to xinetd.conf
4.SH SYNOPSIS
5itox [-daemon_dir <dir_name>]
6.SH DESCRIPTION
7.B itox
8takes on its standard input inetd.conf style entries and dumps to
9standard output the corresponding xinetd.conf style entries.
10.SH OPTIONS
11.TP
12.I -daemon_dir <dir_name>
13If you use tcpd, this option specifies the directory where all the daemons are.
14You must specify this option if you use tcpd and the daemon file names are not
15absolute.
16.SH EXAMPLES
17itox -daemon_dir /usr/sbin < inetd.conf > xinetd.conf
18.SH AUTHOR
19xinetd and itox were written by Panagiotis Tsirigotis.
20.sp
21This man page was written by Norbert Veber <nveber@debian.org> and Thomas Seyrat
22<tomasera@debian.org>
023
=== added file '.pc/000008-fix-manpages/xinetd/xinetd.conf.man'
--- .pc/000008-fix-manpages/xinetd/xinetd.conf.man 1970-01-01 00:00:00 +0000
+++ .pc/000008-fix-manpages/xinetd/xinetd.conf.man 2013-08-14 10:06:03 +0000
@@ -0,0 +1,1253 @@
1.\"(c) Copyright 1992, by Panagiotis Tsirigotis
2.\"(c) Sections Copyright 1998-2001 by Rob Braun
3.\"All rights reserved. The file named COPYRIGHT specifies the terms
4.\"and conditions for redistribution.
5.\"
6.\" $Id: xinetd.conf.man,v 1.20 2007-09-20 14:58:27 bbraun Exp $
7.TH XINETD.CONF 5 "14 June 2001"
8.\" *************************** NAME *********************************
9.SH NAME
10xinetd.conf \- Extended Internet Services Daemon configuration file
11.\" *********************** DESCRIPTION ****************************
12.SH DESCRIPTION
13.B "xinetd.conf"
14is the configuration file that
15determines the services provided by \fBxinetd\fP.
16Any line whose first non-white-space character is a '#' is considered
17a comment line. Empty lines are ignored.
18.LP
19The file contains entries of the form:
20.RS
21.nf
22.ft B
23.sp
24service <service_name>
25{
26.RS
27.ft B
28<attribute> <assign_op> <value> <value> ...
29.I "..."
30.RE
31}
32.ft R
33.fi
34.RE
35.LP
36The assignment operator,
37.I assign_op,
38can be one of
39.B '=',
40.B '+=',
41.B '-='.
42The majority of attributes support only the simple assignment operator,
43.B '='.
44Attributes whose value is a set of values support all assignment operators.
45For such attributes,
46.B '+='
47means adding a value to the set and
48.B '-='
49means removing a value from the set.
50A list of these attributes will be given
51after all the attributes are described.
52.LP
53Each entry defines a service identified by the \fIservice_name\fP.
54The following is a list of available attributes:
55.TP 17
56.B id
57This attribute is used to uniquely identify a service.
58This is useful because there exist services that can use different
59protocols and need to be described with different entries in the
60configuration file.
61By default, the service id is the same as the service name.
62.TP
63.B type
64Any combination of the following values may be used:
65.RS
66.TP 12
67.B RPC
68if this is an RPC service
69.TP
70.B INTERNAL
71if this is a service provided by \fBxinetd\fP.
72.TP
73.B TCPMUX/TCPMUXPLUS
74if this is a service that will be started according to the RFC 1078 protocol on the TCPMUX well-known port. See the section describing TCPMUX services below.
75.TP
76.B UNLISTED
77if this is a service not listed in a standard system file
78(like
79.I /etc/rpc
80for RPC services, or
81.I /etc/services
82for non-RPC services).
83.RE
84.TP
85.B flags
86Any combination of the following flags may be used:
87.RS
88.TP 12
89.B INTERCEPT
90Intercept packets or accepted connections in order to verify that they
91are coming from acceptable locations (internal or multi-threaded
92services cannot be intercepted).
93.TP
94.B NORETRY
95Avoid retry attempts in case of fork failure.
96.TP
97.B IDONLY
98Accept connections only when the remote end identifies the remote user
99(i.e. the remote host must run an identification server).
100This flag applies only to connection-based services.
101This flag is ineffective if the
102.B USERID
103log option is not used.
104.TP
105.B NAMEINARGS
106This will cause the first argument in "server_args" to be argv[0] when
107executing the server, as specified in "server". This allows you to use
108tcpd by putting tcpd in "server" and the name of the server in "server_args"
109like in normal inetd.
110.TP
111.B NODELAY
112If the service is a tcp service and the NODELAY flag is set, then the
113TCP_NODELAY flag will be set on the socket. If the service is not
114a tcp service, this option has no effect.
115.TP
116.B KEEPALIVE
117If the service is a tcp service and the KEEPALIVE flag is set, then
118the SO_KEEPALIVE socket flag will be set on the socket. If the service
119is not a tcp service, this option has no effect.
120.TP
121.B NOLIBWRAP
122This disables internal calling of the tcpwrap library to determine access
123to the service. This may be needed in order to use libwrap functionality
124not available to long-running processes such as xinetd; in this case,
125the tcpd program can be called explicitly (see also the NAMEINARGS flag).
126For RPC services using TCP transport, this flag is automatically turned on,
127because xinetd cannot get remote host address information for the rpc port.
128.TP
129.B SENSOR
130This replaces the service with a sensor that detects accesses to the
131specified port. NOTE: It will NOT detect stealth scans. This flag
132should be used only on services that you know you don't need. When an
133access is made to this service's port, the IP Address is added to a global
134no_access list. This causes all subsequent accesses from the originating IP
135address to be denied access until the deny_time setting expires. The amount
136of time spent on this list is configurable as the deny_time attribute. The
137SENSOR flag will also cause xinetd to consider the server attribute to be
138INTERNAL no matter what is typed on the same line. Another important thing
139to remember is that if the socket_type is set to stream, then the wait
140attribute should be set to no.
141.TP
142.B IPv4
143Sets the service to be an IPv4 service (AF_INET).
144.TP
145.B IPv6
146Sets the service to be an IPv6 service (AF_INET6), if IPv6 is available on the system.
147.TP
148.B LABELED
149The LABELED flag will tell xinetd to change the child processes SE Linux context to match that of the incoming connection as it starts the service. This only works for external tcp non-waiting servers and is an error if applied to an internal, udp, or tcp-wait server.
150.TP
151.B REUSE
152The REUSE flag is deprecated. All services now implicitly use the REUSE flag.
153.RE
154.TP
155.B disable
156This is boolean "yes" or "no". This will result in the service
157being disabled and not starting. See the DISABLE flag description.
158.RE
159.TP
160.B socket_type
161Possible values for this attribute include:
162.RS
163.TP 12
164.I stream
165stream-based service
166.TP
167.I dgram
168datagram-based service
169.TP
170.I raw
171service that requires direct access to IP
172.TP
173.I seqpacket
174service that requires reliable sequential datagram transmission
175.RE
176.TP
177.B protocol
178determines the protocol that is employed by the service.
179The protocol must exist in
180.I /etc/protocols.
181If this
182attribute is not defined, the default protocol employed by the service
183will be used.
184.TP
185.B wait
186This attribute determines if the service is single-threaded or
187multi-threaded and whether or not xinetd accepts the connection or the server
188program accepts the connection. If its value is \fIyes\fP, the service is
189single-threaded; this means that \fBxinetd\fP will start the server and then
190it will stop handling requests for the service until the server dies and that
191the server software will accept the connection. If the attribute value is
192\fIno\fP, the service is multi-threaded and \fBxinetd\fP will keep handling
193new service requests and xinetd will accept the connection. It should be noted
194that udp/dgram services normally expect the value to be yes since udp is not
195connection oriented, while tcp/stream servers normally expect the value to be
196no.
197.TP
198.B user
199determines the uid for the server process. The user attribute can either
200be numeric or a name. If a name is given (recommended), the user name must
201exist in
202.I /etc/passwd.
203This attribute is ineffective if the effective user ID
204of \fBxinetd\fP is not super-user.
205.TP
206.B group
207determines the gid for the server process. The group attribute can either
208be numeric or a name. If a name is given (recommended), the group name must
209exist in
210.I /etc/group.
211If a group is not specified, the group
212of \fIuser\fP will be used (from
213.I /etc/passwd).
214This attribute is ineffective if the effective user ID
215of \fBxinetd\fP is not super-user and if the \fBgroups\fP attribute
216is not set to 'yes'.
217.TP
218.B instances
219determines the number of servers that can be simultaneously active
220for a service (the default is no limit). The value of this
221attribute can be either a number or
222.B UNLIMITED
223which means that there is no limit.
224.TP
225.B nice
226determines the server priority. Its value is a (possibly negative) number;
227check nice(3) for more information.
228.TP
229.B server
230determines the program to execute for this service.
231.TP
232.B server_args
233determines the arguments passed to the server. In contrast to \fBinetd\fP,
234the server name should \fInot\fP be included in \fIserver_args\fP.
235.TP
236.B libwrap
237overrides the service name passed to libwrap (which defaults to the
238server name, the first server_args component with NAMEINARGS, the id
239for internal services and the service name for redirected services).
240This attribute is only valid if xinetd has been configured with the libwrap
241option.
242.TP
243.B only_from
244determines the remote hosts to which the particular
245service is available.
246Its value is a list of IP addresses which can be specified in any
247combination of the following ways:
248.RS
249.TP 5
250.B a)
251a numeric address in the form of %d.%d.%d.%d. If the rightmost components are
2520, they are treated as wildcards
253(for example, 128.138.12.0 matches all hosts on the 128.138.12 subnet).
2540.0.0.0 matches all Internet addresses. IPv6 hosts may be specified in the form of abcd:ef01::2345:6789. The rightmost rule for IPv4 addresses does not apply to IPv6 addresses.
255.TP
256.B b)
257a factorized address in the form of %d.%d.%d.{%d,%d,...}.
258There is no need for all 4 components (i.e. %d.%d.{%d,%d,...%d} is also ok).
259However, the factorized part must be at the end of the address. This form does not work for IPv6 hosts.
260.TP
261.B c)
262a network name (from
263.I /etc/networks). This form does not work for IPv6 hosts.
264.TP
265.B d)
266a host name. When a connection is made to xinetd, a reverse lookup is
267performed, and the canonical name returned is compared to the specified host
268name. You may also use domain names in the form of .domain.com. If the
269reverse lookup of the client's IP is within .domain.com, a match occurs.
270.TP
271.B e)
272an ip address/netmask range in the form of 1.2.3.4/32. IPv6 address/netmask
273ranges in the form of 1234::/46 are also valid.
274.RE
275.TP
276.B ""
277Specifying this attribute
278without a value makes the service available to nobody.
279.TP
280.B no_access
281determines the remote hosts to which the particular
282service is unavailable. Its value can be specified in the same way as the
283value of the \fBonly_from\fP
284attribute. These two attributes determine the location access control
285enforced by \fBxinetd\fP. If none of the two is specified for a service,
286the service is available to anyone. If both are specified for a service,
287the one that is the better match for
288the address of the remote host determines
289if the service is available to that host (for example, if the
290\fBonly_from\fP list contains 128.138.209.0 and the
291\fBno_access\fP list contains 128.138.209.10
292then the host with the address 128.138.209.10 can not access the service).
293.TP
294.B access_times
295determines the time intervals when the service is available. An interval
296has the form \fIhour:min-hour:min\fP (connections
297.I will
298be accepted at the bounds of an interval). Hours can range from 0 to 23 and
299minutes from 0 to 59.
300.TP
301.B log_type
302determines where the service log output is sent. There are two formats:
303.RS
304.TP
305.B SYSLOG " \fIsyslog_facility [syslog_level]\fP"
306The log output is sent to syslog at the specified facility. Possible facility
307names include:
308.I daemon,
309.I auth,
310.I authpriv,
311.I user,
312.I mail,
313.I lpr,
314.I news,
315.I uucp,
316.I ftp
317.I "local0-7."
318Possible level names include:
319.I emerg,
320.I alert,
321.I crit,
322.I err,
323.I warning,
324.I notice,
325.I info,
326.I debug.
327If a level is not present, the messages will be recorded at the
328.I info
329level.
330.TP
331.B FILE " \fIfile [soft_limit [hard_limit]]\fP"
332The log output is appended to \fIfile\fP which will be created if it does
333not exist. Two limits on the size of the log file can be optionally specified.
334The first limit is a soft one;
335.B xinetd
336will log a message the first time this limit is exceeded (if
337.B xinetd
338logs to syslog, the message will be sent at the
339.I alert
340priority level).
341The second limit is a hard limit;
342.B xinetd
343will stop logging for the affected service (if the log file is a
344common log file, then more than one service may be affected)
345and will log a message about this (if
346.B xinetd
347logs to syslog, the message will be sent at the
348.I alert
349priority level).
350If a hard limit is not specified, it defaults to the soft limit
351increased by 1% but the extra size must be within the parameters
352.SM LOG_EXTRA_MIN
353and
354.SM LOG_EXTRA_MAX
355which default to 5K and 20K respectively (these constants are defined in
356\fIxconfig.h\fP).
357.RE
358.TP
359.B log_on_success
360determines what information is logged when a server is started and when
361that server exits (the service id is always included in the log entry).
362Any combination of the following values may be specified:
363.RS
364.TP 12
365.B PID
366logs the server process id (if the service is implemented by \fBxinetd\fP
367without forking another process the logged process id will be 0)
368.TP
369.B HOST
370logs the remote host address
371.TP
372.B USERID
373logs the user id of the remote user using the RFC 1413 identification protocol.
374This option is available only for multi-threaded stream services.
375.TP
376.B EXIT
377logs the fact that a server exited along with the exit status or the
378termination signal
379(the process id is also logged if the
380.B PID
381option is used)
382.TP
383.B DURATION
384logs the duration of a service session
385.TP
386.B TRAFFIC
387logs the total bytes in and out for a redirected service.
388.RE
389.TP
390.B log_on_failure
391determines what information is logged when a server cannot be started
392(either because of a lack of resources or because of access control
393restrictions). The service id is always included in the log entry along
394with the reason for failure.
395Any combination of the following values may be specified:
396.RS
397.TP 12
398.B HOST
399logs the remote host address.
400.TP
401.B USERID
402logs the user id of the remote user using the RFC 1413 identification protocol.
403This option is available only for multi-threaded stream services.
404.TP
405.B ATTEMPT
406logs the fact that a failed attempt was made
407(this option is implied by all others).
408.RE
409.TP
410.B rpc_version
411determines the RPC version for a RPC service. The version can be
412a single number or a range in the form \fInumber\fP-\fInumber\fP.
413.TP
414.B rpc_number
415determines the number for an
416.I UNLISTED
417RPC service (this attribute is ignored if the service is not unlisted).
418.TP
419.B env
420The value of this attribute is a list of strings of the form 'name=value'.
421These strings will be added to the environment before
422starting a server (therefore the server's environment will include
423\fBxinetd\fP's environment plus the specified strings).
424.TP
425.B passenv
426The value of this attribute is a list of environment variables from
427\fBxinetd\fP's environment that will be passed to the server.
428An empty list implies passing no variables to the server
429except for those explicitly defined using the
430.I env
431attribute.
432(notice that you can use this attribute in conjunction with the
433.I env
434attribute to specify exactly what environment will be passed to the server).
435.TP
436.B port
437determines the service port. If this attribute is specified for a service
438listed in
439.I /etc/services,
440it must be equal to the port number listed in that file.
441.TP
442.B redirect
443Allows a tcp service to be redirected to another host. When xinetd receives
444a tcp connection on this port it spawns a process that establishes a
445connection to the host and port number specified, and forwards all data
446between the two hosts. This option is useful when your internal machines
447are not visible to the outside world. Syntax is: redirect = (ip address)
448(port). You can also use a hostname instead of the IP address in this
449field. The hostname lookup is performed only once, when xinetd is
450started, and the first IP address returned is the one that is used
451until xinetd is restarted.
452The "server" attribute is not required when this option is specified. If
453the "server" attribute is specified, this attribute takes priority.
454.TP
455.B bind
456Allows a service to be bound to a specific interface on the machine.
457This means you can have a telnet server listening on a local, secured
458interface, and not on the external interface. Or one port on one interface
459can do something, while the same port on a different interface can do
460something completely different. Syntax: bind = (ip address of interface).
461.TP
462.B interface
463Synonym for bind.
464.TP
465.B banner
466Takes the name of a file to be splatted at the remote host when a
467connection to that service is established. This banner is printed
468regardless of access control. It should *always* be printed when
469a connection has been made. \fBxinetd\fP outputs the file as-is,
470so you must ensure the file is correctly formatted for the service's
471protocol. In paticular, if the protocol requires CR-LF pairs for line
472termination, you must supply them.
473.TP
474.B banner_success
475Takes the name of a file to be splatted at the remote host when a
476connection to that service is granted. This banner is printed
477as soon as access is granted for the service. \fBxinetd\fP outputs the
478file as-is, so you must ensure the file is correctly formatted for
479the service's protocol. In paticular, if the protocol requires CR-LF
480pairs for line termination, you must supply them.
481.TP
482.B banner_fail
483Takes the name of a file to be splatted at the remote host when a
484connection to that service is denied. This banner is printed
485immediately upon denial of access. This is useful for informing
486your users that they are doing something bad and they shouldn't be
487doing it anymore. \fBxinetd\fP outputs the file as-is,
488so you must ensure the file is correctly formatted for the service's
489protocol. In paticular, if the protocol requires CR-LF pairs for line
490termination, you must supply them.
491.TP
492.B per_source
493Takes an integer or "UNLIMITED" as an argument. This specifies the
494maximum instances of this service per source IP address. This can
495also be specified in the defaults section.
496.TP
497.B cps
498Limits the rate of incoming connections. Takes two arguments.
499The first argument is the number of connections per second to handle.
500If the rate of incoming connections is higher than this, the service
501will be temporarily disabled. The second argument is the number of
502seconds to wait before re-enabling the service after it has been disabled.
503The default for this setting is 50 incoming connections and the interval
504is 10 seconds.
505.TP
506.B max_load
507Takes a floating point value as the load at which the service will
508stop accepting connections. For example: 2 or 2.5. The service
509will stop accepting connections at this load. This is the one minute
510load average. This is an OS dependent feature, and currently only
511Linux, Solaris, and FreeBSD are supported for this. This feature is
512only avaliable if xinetd was configured with the -with-loadavg option.
513.TP
514.B groups
515Takes either "yes" or "no". If the groups attribute is set to
516"yes", then the server is executed with access to the groups that the
517server's effective UID has access to. Alternatively, if the \fBgroup\fP
518attribute is set, the server is executed with access to the groups
519specified. If the groups attribute is set
520to "no", then the server runs with no supplementary groups. This
521attribute must be set to "yes" for many BSD systems. This attribute
522can be set in the defaults section as well.
523.TP
524.B mdns
525Takes either "yes" or "no". On systems that support mdns registration
526of services (currently only Mac OS X), this will enable or disable
527registration of the service. This defaults to "yes".
528.TP
529.B umask
530Sets the inherited umask for the service. Expects an octal value.
531This option may be set in the "defaults" section to set a umask
532for all services. xinetd sets its own umask to the previous umask
533OR'd with 022. This is the umask that will be inherited by all
534child processes if the umask option is not used.
535.TP
536.B enabled
537Takes a list of service ID's to enable. This will enable only the
538services listed as arguments to this attribute; the rest will be
539disabled. If you have 2 ftp services, you will need to list both of
540their ID's and not just ftp. (ftp is the service name, not the ID. It
541might accidentally be the ID, but you better check.) Note that the
542service "disable" attribute and "DISABLE" flag can prevent a service
543from being enabled despite being listed in this attribute.
544.TP
545.B include
546Takes a filename in the form of "include /etc/xinetd/service".
547The file is then parsed as a new configuration file. It is not
548the same thing as pasting the file into xinetd.conf where the
549include directive is given. The included file must be in the
550same form as xinetd.conf. This may not be specified from within
551a service. It must be specified outside a service declaration.
552.TP
553.B includedir
554Takes a directory name in the form of "includedir /etc/xinetd.d".
555Every file inside that directory, excluding files with names containing
556a dot ('.') or ending with a tilde ('~'), will be parsed as xinetd
557configuration files. The files will be parsed in alphabetical order
558according to the C locale. This allows you to specify services one
559per file within a directory. The
560.B includedir
561directive may not be specified from within a service declaration.
562.TP
563.B rlimit_as
564Sets the Address Space resource limit for the service. One parameter
565is required, which is either a positive integer representing the number
566of bytes to set the limit to (K or M may be used to specify
567kilobytes/megabytes) or "UNLIMITED". Due to the way Linux's libc malloc
568is implemented, it is more useful to set this limit than rlimit_data,
569rlimit_rss and rlimit_stack. This resource limit is only implemented on
570Linux systems.
571.TP
572.B rlimit_cpu
573Sets the maximum number of CPU seconds that the service may use.
574One parameter is required, which is either a positive integer representing
575the number of CPU seconds limit to, or "UNLIMITED".
576.TP
577.B rlimit_data
578Sets the maximum data size resource limit for the service.
579One parameter is required, which is either a positive integer representing
580the number of bytes or "UNLIMITED".
581.TP
582.B rlimit_rss
583Sets the maximum resident set size limit for the service. Setting this
584value low will make the process a likely candidate for swapping out to
585disk when memory is low.
586One parameter is required, which is either a positive integer representing
587the number of bytes or "UNLIMITED".
588.TP
589.B rlimit_stack
590Set the maximum stack size limit for the service.
591One parameter is required, which is either a positive integer representing
592the number of bytes or "UNLIMITED".
593.TP
594.B deny_time
595Sets the time span that access to all services on all IP addresses are
596denied to someone that sets off the SENSOR. The unit of time is in minutes.
597Valid options are: FOREVER, NEVER, and a numeric value. FOREVER causes
598the IP address not to be purged until xinetd is restarted. NEVER has the
599effect of just logging the offending IP address. A typical time value would
600be 60 minutes. This should stop most DOS attacks while allowing IP addresses
601that come from a pool to be recycled for legitimate purposes. This option
602must be used in conjunction with the SENSOR flag.
603.LP
604You don't need to specify all of the above attributes for each service.
605The necessary attributes for a service are:
606.sp 1
607.PD .1v
608.RS
609.TP 18
610.B socket_type
611.TP
612.B user
613(non-\fIinternal\fP services only)
614.TP
615.B server
616(non-\fIinternal\fP services only)
617.TP
618.B wait
619.TP
620.B protocol
621(\fIRPC\fP and \fIunlisted\fP services only)
622.TP
623.B rpc_version
624(\fIRPC\fP services only)
625.TP
626.B rpc_number
627(\fIunlisted\fP RPC services only)
628.TP
629.B port
630(\fIunlisted\fP non-RPC services only)
631.RE
632.PD
633.LP
634The following attributes support all assignment operators:
635.sp 1
636.PD .1v
637.RS
638.TP 18
639.B only_from
640.TP
641.B no_access
642.TP
643.B log_on_success
644.TP
645.B log_on_failure
646.TP
647.B passenv
648.TP
649.B env
650(does not support the
651.B '-='
652operator)
653.RE
654.PD
655.LP
656These attributes can also appear more than once in a service entry.
657The remaining attributes support only the
658.B '='
659operator and can appear at most once in a service entry.
660.LP
661The configuration file may also contain a single defaults entry
662that has the form
663.LP
664.RS
665.nf
666.ft B
667defaults
668{
669.RS
670.ft B
671<attribute> = <value> <value> ...
672.I "..."
673.RE
674.ft B
675}
676.ft R
677.fi
678.RE
679.LP
680This entry provides default attribute values for service entries that
681don't specify those attributes. Possible default attributes:
682.sp 1
683.PD .1v
684.RS
685.TP 18
686.B log_type
687(cumulative effect)
688.TP
689.B bind
690.TP
691.B per_source
692.TP
693.B umask
694.TP
695.B log_on_success
696(cumulative effect)
697.TP
698.B log_on_failure
699(cumulative effect)
700.TP
701.B only_from
702(cumulative effect)
703.TP
704.B no_access
705(cumulative effect)
706.TP
707.B passenv
708(cumulative effect)
709.TP
710.B instances
711.TP
712.B disabled
713(cumulative effect)
714.TP
715.B enabled
716(cumulative effect)
717.TP
718.B banner
719.TP
720.B banner_success
721.TP
722.B banner_fail
723.TP
724.B per_source
725.TP
726.B groups
727.TP
728.B cps
729.TP
730.B max_load
731.TP
732.RE
733.PD
734.LP
735Attributes with a cumulative effect can be specified multiple times
736with the values specified each time accumulating (i.e. '=' does
737the same thing as '+=').
738With the exception of
739.I disabled
740they all have the same meaning as if they were specified in a service entry.
741.I disabled
742determines services that are disabled even if they have entries in
743the configuration file. This allows for quick reconfiguration by
744specifying disabled services with the
745.I disabled
746attribute instead of commenting them out.
747The value of this attribute is a list of space separated service ids.
748.I enabled
749has the same properties as disabled. The difference being that
750.I enabled
751is a list of which services are to be enabled. If
752.I enabled
753is specified, only the services specified are available. If
754.I enabled
755is not specified, all services are assumed to be enabled,
756except those listed in
757.I disabled.
758
759.\" *********************** INTERNAL SERVICES ****************************
760.SH "INTERNAL SERVICES"
761.LP
762\fBxinetd\fP provides the following services internally (both
763stream and datagram based):
764.I echo,
765.I time,
766.I daytime,
767.I chargen,
768and
769.I discard.
770These services are under the same access restrictions as all other
771services except for the ones that don't require \fBxinetd\fP to fork
772another process for them. Those ones (\fItime\fP, \fIdaytime\fP,
773and the datagram-based \fIecho\fP, \fIchargen\fP, and \fIdiscard\fP)
774have no limitation in the number of
775.B instances.
776.LP
777.\" *********************** TCPMUX Services ****************************
778.SH "TCPMUX Services"
779.LP
780\fBxinetd\fP supports TCPMUX services that conform to RFC 1078. These services
781may not have a well-known port associated with them, and can be accessed via
782the TCPMUX well-known port.
783.LP
784For each service that is to be accessed via TCPMUX, a service entry in
785\fB/etc/xinetd.conf\fP or in a configuration file in an \fBincludedir\fP
786directory must exist.
787.LP
788The \fIservice_name\fP field (as defined above for each service in any
789\fBxinetd\fP
790configuration file) must be identical to the string that is passed (according
791to RFC 1078 protocol) to \fBxinetd\fP when the remote service requestor first
792makes the connection on the TCPMUX well-known port. Private protocols should
793use a service name that has a high probability of being unique. One way is to
794prepend the service name with some form of organization ID.
795.LP
796The \fItype\fP field can be either \fBTCPMUX\fP or \fBTCPMUXPLUS\fP. If the
797type is \fBTCPMUXPLUS\fP, \fBxinetd\fP will handle the initial protocol
798handshake (as defined in RFC 1078) with the calling process before initiating
799the service. If the type is \fBTCPMUX\fP, the server that is started is
800responsible for performing the handshake.
801.LP
802The \fItype\fP field should also include \fBUNLISTED\fP if the service is
803not listed in a standard system file
804(like
805.I /etc/rpc
806for RPC services, or
807.I /etc/services
808for non-RPC services).
809.LP
810The \fIsocket_type\fP for these services must be \fBstream\fP, and the
811\fIprotocol\fP must be \fBtcp\fP.
812.LP
813Following is a sample TCPMUX service configuration:
814.PD .1v
815.RS
816.nf
817
818service myorg_server
819{
820.RS
821.IP disable 20
822= no
823.IP type
824= TCPMUX
825.IP socket_type
826= stream
827.IP protocol
828= tcp
829.IP wait
830= no
831.IP user
832= root
833.IP server
834= /usr/etc/my_server_exec
835.RE
836}
837.fi
838.RE
839.PD
840.LP
841Besides a service entry for each service that can be accessed
842via the TCPMUX well-known port, a service entry for TCPMUX itself
843must also be included in the \fBxinetd\fP configuration. Consider the following
844sample:
845.PD .1v
846.RS
847.nf
848
849service tcpmux
850{
851.RS
852.IP type 20
853= INTERNAL
854.IP id
855= tcpmux
856.IP socket_type
857= stream
858.IP protocol
859= tcp
860.IP user
861= root
862.IP wait
863= no
864.RE
865}
866.fi
867.RE
868.PD
869
870
871
872.\" *********************** NOTES ****************************
873.SH NOTES
874.IP 1. 4
875The following service attributes \fIcannot\fP be changed on reconfiguration:
876.B socket_type,
877.B wait,
878.B protocol,
879.B type.
880.IP 2.
881When the attributes
882.I only_from
883and
884.I no_access
885are not specified for a service (either directly or via \fIdefaults\fP)
886the address check is considered successful (i.e. access will not be
887denied).
888.IP 3.
889The address check is based on the IP address of the remote host and
890not on its domain address. We do this so that we can avoid
891remote name lookups which may take a long time (since
892.B xinetd
893is single-threaded, a name lookup will prevent the daemon from
894accepting any other requests until the lookup is resolved).
895The down side of this scheme is that if the IP address of a remote
896host changes, then access to that host may be denied until
897.B xinetd
898is reconfigured.
899Whether access is actually denied or not will depend on whether the
900new host IP address is among those allowed access. For example, if
901the IP address of a host changes from 1.2.3.4 to 1.2.3.5 and
902only_from is specified as 1.2.3.0 then access will not be denied.
903.IP 4.
904If the
905.B USERID
906log option is specified and the remote host either does not run an
907identification server or the server sends back a bad reply,
908access will not be denied unless the
909.I IDONLY
910service flag is used.
911.IP 5.
912Interception works by forking a process which acts as a filter
913between the remote host(s) and the local server.
914This obviously has a performance impact so
915it is up to you to make the compromise between security and performance
916for each service.
917The following tables show the overhead of interception.
918The first table shows the time overhead-per-datagram for a UDP-based service
919using various datagram sizes.
920For TCP-based services we measured the bandwidth reduction
921because of interception while sending
922a certain amount of data from client to server (the time overhead should
923the same as for UDP-based services but it is "paid" only by the first
924packet of a continuous data transmission).
925The amount of data is given
926in the table as \fIsystem_calls\fPx\fIdata_sent_per_call\fP, i.e.
927each
928.I "send(2)"
929system call transferred so many bytes of data.
930The bandwidth reduction is given in terms of bytes per second and as
931a percentage of the bandwidth when interception is not performed.
932All measurements were done on a SparcStation IPC running SunOS 4.1.
933.sp 1
934.RS
935.RS
936.PD .1v
937.TP 25
938Datagram size (bytes)
939Latency (msec)
940.TP
941---------------------
942--------------
943.TP
94464
9451.19
946.TP
947256
9481.51
949.TP
9501024
9511.51
952.TP
9534096
9543.58
955.sp 2
956.TP
957Bytes sent
958Bandwidth reduction
959.TP
960----------
961-------------------
962.TP
96310000x64
964941 (1.2%)
965.TP
96610000x256
9674,231 (1.8%)
968.TP
96910000x1024
970319,300 (39.5%)
971.TP
97210000x4096
973824,461 (62.1%)
974.RE
975.RE
976.sp 1
977.\" *********************** EXAMPLE ****************************
978.SH EXAMPLE
979.LP
980.PD .1v
981.RS
982.nf
983#
984# Sample configuration file for xinetd
985#
986
987defaults
988{
989.RS
990.IP log_type 20
991= FILE /var/log/servicelog
992.IP log_on_success
993= PID
994.IP log_on_failure
995= HOST
996.IP only_from
997= 128.138.193.0 128.138.204.0
998.IP only_from
999= 128.138.252.1
1000.IP instances
1001= 10
1002.IP disabled
1003= rstatd
1004.RE
1005}
1006
1007#
1008# Note 1: the protocol attribute is not required
1009# Note 2: the instances attribute overrides the default
1010#
1011service login
1012{
1013.RS
1014.IP socket_type 20
1015= stream
1016.IP protocol
1017= tcp
1018.IP wait
1019= no
1020.IP user
1021= root
1022.IP server
1023= /usr/etc/in.rlogind
1024.IP instances
1025= UNLIMITED
1026.RE
1027}
1028
1029#
1030# Note 1: the instances attribute overrides the default
1031# Note 2: the log_on_success flags are augmented
1032#
1033service shell
1034{
1035.RS
1036.IP socket_type 20
1037= stream
1038.IP wait
1039= no
1040.IP user
1041= root
1042.IP instances
1043= UNLIMITED
1044.IP server
1045= /usr/etc/in.rshd
1046.IP log_on_success
1047+= HOST
1048.RE
1049}
1050
1051service ftp
1052{
1053.RS
1054.IP socket_type 20
1055= stream
1056.IP wait
1057= no
1058.IP nice
1059= 10
1060.IP user
1061= root
1062.IP server
1063= /usr/etc/in.ftpd
1064.IP server_args
1065= -l
1066.IP instances
1067= 4
1068.IP log_on_success
1069+= DURATION HOST USERID
1070.IP access_times
1071= 2:00-9:00 12:00-24:00
1072.RE
1073}
1074
1075# Limit telnet sessions to 8 Mbytes of memory and a total
1076# 20 CPU seconds for child processes.
1077service telnet
1078{
1079.RS
1080.IP socket_type 20
1081= stream
1082.IP wait
1083= no
1084.IP nice
1085= 10
1086.IP user
1087= root
1088.IP server
1089= /usr/etc/in.telnetd
1090.IP rlimit_as
1091= 8M
1092.IP rlimit_cpu
1093= 20
1094.RE
1095}
1096
1097#
1098# This entry and the next one specify internal services. Since
1099# this is the same service using a different socket type, the
1100# id attribute is used to uniquely identify each entry
1101#
1102service echo
1103{
1104.RS
1105.IP id 20
1106= echo-stream
1107.IP type
1108= INTERNAL
1109.IP socket_type
1110= stream
1111.IP user
1112= root
1113.IP wait
1114= no
1115.RE
1116}
1117
1118service echo
1119{
1120.RS
1121.IP id 20
1122= echo-dgram
1123.IP type
1124= INTERNAL
1125.IP socket_type
1126= dgram
1127.IP user
1128= root
1129.IP wait
1130= no
1131.RE
1132}
1133
1134#
1135# Sample RPC service
1136#
1137service rstatd
1138{
1139.RS
1140.IP type 20
1141= RPC
1142.IP socket_type
1143= dgram
1144.IP protocol
1145= udp
1146.IP server
1147= /usr/etc/rpc.rstatd
1148.IP wait
1149= yes
1150.IP user
1151= root
1152.IP rpc_version
1153= 2-4
1154.IP env
1155= LD_LIBRARY_PATH=/etc/securelib
1156.RE
1157}
1158
1159#
1160# Sample unlisted service
1161#
1162service unlisted
1163{
1164.RS
1165.IP type 20
1166= UNLISTED
1167.IP socket_type
1168= stream
1169.IP protocol
1170= tcp
1171.IP wait
1172= no
1173.IP server
1174= /home/user/some_server
1175.IP port
1176= 20020
1177.RE
1178}
1179.RE
1180.PD
1181.\" *********************** SEE ALSO ****************************
1182.SH "SEE ALSO"
1183.I "xinetd(1L),"
1184.LP
1185.I "xinetd.log(5)"
1186.LP
1187Postel J.,
1188.IR "Echo Protocol" ,
1189RFC 862,
1190May 1983
1191.LP
1192Postel J.,
1193.IR "Discard Protocol" ,
1194RFC 863,
1195May 1983
1196.LP
1197Postel J.,
1198.IR "Character Generator Protocol" ,
1199RFC 864,
1200May 1983
1201.LP
1202Postel J.,
1203.IR "Daytime Protocol" ,
1204RFC 867,
1205May 1983
1206.LP
1207Postel J., Harrenstien K.,
1208.IR "Time Protocol" ,
1209RFC 868,
1210May 1983
1211.LP
1212M. Lottor,
1213.IR "TCP Port Service Multiplexer (TCPMUX)" ,
1214RFC 1078
1215Nov 1988
1216.LP
1217StJohns M.,
1218.IR " Identification Protocol" ,
1219RFC 1413,
1220February 1993
1221.\" *********************** BUGS ****************************
1222.SH BUGS
1223.LP
1224If the
1225.B INTERCEPT
1226flag is not used,
1227access control on the address of the remote host is not performed when
1228\fIwait\fP is \fIyes\fP and \fIsocket_type\fP is \fIstream\fP.
1229.LP
1230The NOLIBWRAP flag is automatically turned on for RPC services whose
1231\fIsocket_type\fP is \fIstream\fP because xinetd cannot determine the
1232address of the remote host.
1233.LP
1234If the
1235.B INTERCEPT
1236flag is not used,
1237access control on the address of the remote host for
1238services where \fIwait\fP is \fIyes\fP and \fIsocket_type\fP is \fIdgram\fP
1239is performed only on the first packet. The server may then accept packets
1240from hosts not in the access control list. This can happen with
1241.B RPC
1242services.
1243.LP
1244There is no way to put a
1245.SM SPACE
1246in an environment variable.
1247.LP
1248When \fIwait\fP is \fIyes\fP and \fIsocket_type\fP is \fIstream\fP,
1249the socket passed to the server can only accept connections.
1250.LP
1251The
1252.B INTERCEPT
1253flag is not supported for internal services or multi-threaded services.
01254
=== added file '.pc/applied-patches'
--- .pc/applied-patches 1970-01-01 00:00:00 +0000
+++ .pc/applied-patches 2013-08-14 10:06:03 +0000
@@ -0,0 +1,3 @@
1000001-documentation_fixes
2000004-Fix-xinetd.log.man-installation-path
3000008-fix-manpages
04
=== modified file 'CHANGELOG'
--- CHANGELOG 2006-01-19 15:34:04 +0000
+++ CHANGELOG 2013-08-14 10:06:03 +0000
@@ -907,3 +907,28 @@
907 Based on a patch from Tony Ernst.907 Based on a patch from Tony Ernst.
908 Remove the <1024 port check for UDP builtin services.908 Remove the <1024 port check for UDP builtin services.
909 This check has been rather antiquated for years.909 This check has been rather antiquated for years.
910
9112.3.15
912 If the address we're binding to is a multicast address, do the
913 multicast join.
914 Merge the Fedora patch to turn off libwrap processing on tcp
915 rpc services. Patch xinetd-2.3.12-tcp_rpc.patch.
916 Merge the Fedora patch to add labeled networking.
917 Patch xinetd-2.3.14-label.patch r1.4.
918 Merge the Fedora patch to fix getpeercon() for labeled networking
919 in MLS environments.
920 Patch xinetd-2.3.14-contextconf.patch r1.1
921 Merge the Fedora patch for int->ssize_t.
922 Patch xinetd-2.3.14-ssize_t.patch r1.1
923 Some modifications to this patch were necessary.
924 Change compiler flags, -Wconversion generates excessive and
925 unnecessary warnings with gcc, particularly all
926 cases of ntohs(uint16_t).
927 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=6614
928 Additionally add -Wno-unused to prevent unnecessary
929 warnings regarding unused function parameters when
930 the function is a callback conforming to a standard
931 interface.
932 Change version number to 2.3.15devel, indicating an interim
933 developmental source snapshot.
934 Merge patch from Thomas Swan regarding CVE-2012-0862
910935
=== modified file 'Makefile.in'
--- Makefile.in 2007-11-29 09:29:55 +0000
+++ Makefile.in 2013-08-14 10:06:03 +0000
@@ -15,7 +15,7 @@
15LIBS = -lsio -lstr -lmisc -lxlog -lportable -lpset @LIBS@15LIBS = -lsio -lstr -lmisc -lxlog -lportable -lpset @LIBS@
1616
17CFLAGS += @CFLAGS@ 17CFLAGS += @CFLAGS@
18DCFLAGS = -Wall -Wredundant-decls -W -Wfloat-equal -Wundef -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Wmissing-format-attribute -Wshadow -Wpointer-arith -g18DCFLAGS = -Wall -Wredundant-decls -W -Wfloat-equal -Wundef -Wcast-qual -Wwrite-strings -Wmissing-noreturn -Wmissing-format-attribute -Wshadow -Wpointer-arith -Wno-unused -g
1919
2020
21DEFS = @DEFS@21DEFS = @DEFS@
@@ -80,7 +80,7 @@
80 $(INSTALL_CMD) -m 755 xinetd/itox $(DAEMONDIR)80 $(INSTALL_CMD) -m 755 xinetd/itox $(DAEMONDIR)
81 $(INSTALL_CMD) -m 755 $(SRCDIR)/xinetd/xconv.pl $(DAEMONDIR)81 $(INSTALL_CMD) -m 755 $(SRCDIR)/xinetd/xconv.pl $(DAEMONDIR)
82 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.conf.man $(MANDIR)/man5/xinetd.conf.582 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.conf.man $(MANDIR)/man5/xinetd.conf.5
83 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.log.man $(MANDIR)/man8/xinetd.log.883 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.log.man $(MANDIR)/man5/xinetd.log.5
84 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.man $(MANDIR)/man8/xinetd.884 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xinetd.man $(MANDIR)/man8/xinetd.8
85 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/itox.8 $(MANDIR)/man8/itox.885 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/itox.8 $(MANDIR)/man8/itox.8
86 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xconv.pl.8 $(MANDIR)/man8/xconv.pl.886 $(INSTALL_CMD) -m 644 $(SRCDIR)/xinetd/xconv.pl.8 $(MANDIR)/man8/xconv.pl.8
8787
=== modified file 'config.guess'
--- config.guess 2012-05-27 19:26:42 +0000
+++ config.guess 2013-08-14 10:06:03 +0000
@@ -1,10 +1,9 @@
1#! /bin/sh1#! /bin/sh
2# Attempt to guess a canonical system name.2# Attempt to guess a canonical system name.
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,4# 2000, 2001, 2002 Free Software Foundation, Inc.
5# 2011, 2012 Free Software Foundation, Inc.
65
7timestamp='2012-02-10'6timestamp='2002-03-20'
87
9# This file is free software; you can redistribute it and/or modify it8# This file is free software; you can redistribute it and/or modify it
10# under the terms of the GNU General Public License as published by9# under the terms of the GNU General Public License as published by
@@ -17,24 +16,24 @@
17# General Public License for more details.16# General Public License for more details.
18#17#
19# You should have received a copy of the GNU General Public License18# You should have received a copy of the GNU General Public License
20# along with this program; if not, see <http://www.gnu.org/licenses/>.19# along with this program; if not, write to the Free Software
20# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21#21#
22# As a special exception to the GNU General Public License, if you22# As a special exception to the GNU General Public License, if you
23# distribute this file as part of a program that contains a23# distribute this file as part of a program that contains a
24# configuration script generated by Autoconf, you may include it under24# configuration script generated by Autoconf, you may include it under
25# the same distribution terms that you use for the rest of that program.25# the same distribution terms that you use for the rest of that program.
2626
2727# Originally written by Per Bothner <per@bothner.com>.
28# Originally written by Per Bothner. Please send patches (context28# Please send patches to <config-patches@gnu.org>. Submit a context
29# diff format) to <config-patches@gnu.org> and include a ChangeLog29# diff and a properly formatted ChangeLog entry.
30# entry.
31#30#
32# This script attempts to guess a canonical system name similar to31# This script attempts to guess a canonical system name similar to
33# config.sub. If it succeeds, it prints the system name on stdout, and32# config.sub. If it succeeds, it prints the system name on stdout, and
34# exits with 0. Otherwise, it exits with 1.33# exits with 0. Otherwise, it exits with 1.
35#34#
36# You can get the latest version of this script from:35# The plan is that this can be called by configure scripts if you
37# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD36# don't specify an explicit build system type.
3837
39me=`echo "$0" | sed -e 's,.*/,,'`38me=`echo "$0" | sed -e 's,.*/,,'`
4039
@@ -54,8 +53,7 @@
54GNU config.guess ($timestamp)53GNU config.guess ($timestamp)
5554
56Originally written by Per Bothner.55Originally written by Per Bothner.
57Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,56Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
582001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
59Free Software Foundation, Inc.57Free Software Foundation, Inc.
6058
61This is free software; see the source for copying conditions. There is NO59This is free software; see the source for copying conditions. There is NO
@@ -68,11 +66,11 @@
68while test $# -gt 0 ; do66while test $# -gt 0 ; do
69 case $1 in67 case $1 in
70 --time-stamp | --time* | -t )68 --time-stamp | --time* | -t )
71 echo "$timestamp" ; exit ;;69 echo "$timestamp" ; exit 0 ;;
72 --version | -v )70 --version | -v )
73 echo "$version" ; exit ;;71 echo "$version" ; exit 0 ;;
74 --help | --h* | -h )72 --help | --h* | -h )
75 echo "$usage"; exit ;;73 echo "$usage"; exit 0 ;;
76 -- ) # Stop option processing74 -- ) # Stop option processing
77 shift; break ;;75 shift; break ;;
78 - ) # Use stdin as input.76 - ) # Use stdin as input.
@@ -90,42 +88,30 @@
90 exit 188 exit 1
91fi89fi
9290
93trap 'exit 1' 1 2 1591
9492dummy=dummy-$$
95# CC_FOR_BUILD -- compiler used by this script. Note that the use of a93trap 'rm -f $dummy.c $dummy.o $dummy.rel $dummy; exit 1' 1 2 15
96# compiler to aid in system detection is discouraged as it requires94
97# temporary files to be created and, as you can see below, it is a95# CC_FOR_BUILD -- compiler used by this script.
98# headache to deal with in a portable fashion.
99
100# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still96# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
101# use `HOST_CC' if defined, but it is deprecated.97# use `HOST_CC' if defined, but it is deprecated.
10298
103# Portable tmp directory creation inspired by the Autoconf team.99set_cc_for_build='case $CC_FOR_BUILD,$HOST_CC,$CC in
104100 ,,) echo "int dummy(){}" > $dummy.c ;
105set_cc_for_build='
106trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
107trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
108: ${TMPDIR=/tmp} ;
109 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
110 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
111 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
112 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
113dummy=$tmp/dummy ;
114tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
115case $CC_FOR_BUILD,$HOST_CC,$CC in
116 ,,) echo "int x;" > $dummy.c ;
117 for c in cc gcc c89 c99 ; do101 for c in cc gcc c89 c99 ; do
118 if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then102 ($c $dummy.c -c -o $dummy.o) >/dev/null 2>&1 ;
103 if test $? = 0 ; then
119 CC_FOR_BUILD="$c"; break ;104 CC_FOR_BUILD="$c"; break ;
120 fi ;105 fi ;
121 done ;106 done ;
107 rm -f $dummy.c $dummy.o $dummy.rel ;
122 if test x"$CC_FOR_BUILD" = x ; then108 if test x"$CC_FOR_BUILD" = x ; then
123 CC_FOR_BUILD=no_compiler_found ;109 CC_FOR_BUILD=no_compiler_found ;
124 fi110 fi
125 ;;111 ;;
126 ,,*) CC_FOR_BUILD=$CC ;;112 ,,*) CC_FOR_BUILD=$CC ;;
127 ,*,*) CC_FOR_BUILD=$HOST_CC ;;113 ,*,*) CC_FOR_BUILD=$HOST_CC ;;
128esac ; set_cc_for_build= ;'114esac'
129115
130# This is needed to find uname on a Pyramid OSx when run in the BSD universe.116# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
131# (ghazi@noc.rutgers.edu 1994-08-24)117# (ghazi@noc.rutgers.edu 1994-08-24)
@@ -143,7 +129,7 @@
143case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in129case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
144 *:NetBSD:*:*)130 *:NetBSD:*:*)
145 # NetBSD (nbsd) targets should (where applicable) match one or131 # NetBSD (nbsd) targets should (where applicable) match one or
146 # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,132 # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
147 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently133 # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
148 # switched to ELF, *-*-netbsd* would select the old134 # switched to ELF, *-*-netbsd* would select the old
149 # object file format. This provides both forward135 # object file format. This provides both forward
@@ -156,11 +142,9 @@
156 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \142 UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
157 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`143 /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
158 case "${UNAME_MACHINE_ARCH}" in144 case "${UNAME_MACHINE_ARCH}" in
159 armeb) machine=armeb-unknown ;;
160 arm*) machine=arm-unknown ;;145 arm*) machine=arm-unknown ;;
161 sh3el) machine=shl-unknown ;;146 sh3el) machine=shl-unknown ;;
162 sh3eb) machine=sh-unknown ;;147 sh3eb) machine=sh-unknown ;;
163 sh5el) machine=sh5le-unknown ;;
164 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;148 *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
165 esac149 esac
166 # The Operating System including object format, if it has switched150 # The Operating System including object format, if it has switched
@@ -169,7 +153,7 @@
169 arm*|i386|m68k|ns32k|sh3*|sparc|vax)153 arm*|i386|m68k|ns32k|sh3*|sparc|vax)
170 eval $set_cc_for_build154 eval $set_cc_for_build
171 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \155 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
172 | grep -q __ELF__156 | grep __ELF__ >/dev/null
173 then157 then
174 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).158 # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
175 # Return netbsd for either. FIX?159 # Return netbsd for either. FIX?
@@ -179,135 +163,145 @@
179 fi163 fi
180 ;;164 ;;
181 *)165 *)
182 os=netbsd166 os=netbsd
183 ;;167 ;;
184 esac168 esac
185 # The OS release169 # The OS release
186 # Debian GNU/NetBSD machines have a different userland, and170 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
187 # thus, need a distinct triplet. However, they do not need
188 # kernel version information, so it can be replaced with a
189 # suitable tag, in the style of linux-gnu.
190 case "${UNAME_VERSION}" in
191 Debian*)
192 release='-gnu'
193 ;;
194 *)
195 release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
196 ;;
197 esac
198 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:171 # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
199 # contains redundant information, the shorter form:172 # contains redundant information, the shorter form:
200 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.173 # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
201 echo "${machine}-${os}${release}"174 echo "${machine}-${os}${release}"
202 exit ;;175 exit 0 ;;
176 amiga:OpenBSD:*:*)
177 echo m68k-unknown-openbsd${UNAME_RELEASE}
178 exit 0 ;;
179 arc:OpenBSD:*:*)
180 echo mipsel-unknown-openbsd${UNAME_RELEASE}
181 exit 0 ;;
182 hp300:OpenBSD:*:*)
183 echo m68k-unknown-openbsd${UNAME_RELEASE}
184 exit 0 ;;
185 mac68k:OpenBSD:*:*)
186 echo m68k-unknown-openbsd${UNAME_RELEASE}
187 exit 0 ;;
188 macppc:OpenBSD:*:*)
189 echo powerpc-unknown-openbsd${UNAME_RELEASE}
190 exit 0 ;;
191 mvme68k:OpenBSD:*:*)
192 echo m68k-unknown-openbsd${UNAME_RELEASE}
193 exit 0 ;;
194 mvme88k:OpenBSD:*:*)
195 echo m88k-unknown-openbsd${UNAME_RELEASE}
196 exit 0 ;;
197 mvmeppc:OpenBSD:*:*)
198 echo powerpc-unknown-openbsd${UNAME_RELEASE}
199 exit 0 ;;
200 pmax:OpenBSD:*:*)
201 echo mipsel-unknown-openbsd${UNAME_RELEASE}
202 exit 0 ;;
203 sgi:OpenBSD:*:*)
204 echo mipseb-unknown-openbsd${UNAME_RELEASE}
205 exit 0 ;;
206 sun3:OpenBSD:*:*)
207 echo m68k-unknown-openbsd${UNAME_RELEASE}
208 exit 0 ;;
209 wgrisc:OpenBSD:*:*)
210 echo mipsel-unknown-openbsd${UNAME_RELEASE}
211 exit 0 ;;
203 *:OpenBSD:*:*)212 *:OpenBSD:*:*)
204 UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`213 echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
205 echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}214 exit 0 ;;
206 exit ;;
207 *:ekkoBSD:*:*)
208 echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
209 exit ;;
210 *:SolidBSD:*:*)
211 echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
212 exit ;;
213 macppc:MirBSD:*:*)
214 echo powerpc-unknown-mirbsd${UNAME_RELEASE}
215 exit ;;
216 *:MirBSD:*:*)
217 echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
218 exit ;;
219 alpha:OSF1:*:*)215 alpha:OSF1:*:*)
220 case $UNAME_RELEASE in216 if test $UNAME_RELEASE = "V4.0"; then
221 *4.0)
222 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`217 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
223 ;;218 fi
224 *5.*)
225 UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
226 ;;
227 esac
228 # According to Compaq, /usr/sbin/psrinfo has been available on
229 # OSF/1 and Tru64 systems produced since 1995. I hope that
230 # covers most systems running today. This code pipes the CPU
231 # types through head -n 1, so we only detect the type of CPU 0.
232 ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
233 case "$ALPHA_CPU_TYPE" in
234 "EV4 (21064)")
235 UNAME_MACHINE="alpha" ;;
236 "EV4.5 (21064)")
237 UNAME_MACHINE="alpha" ;;
238 "LCA4 (21066/21068)")
239 UNAME_MACHINE="alpha" ;;
240 "EV5 (21164)")
241 UNAME_MACHINE="alphaev5" ;;
242 "EV5.6 (21164A)")
243 UNAME_MACHINE="alphaev56" ;;
244 "EV5.6 (21164PC)")
245 UNAME_MACHINE="alphapca56" ;;
246 "EV5.7 (21164PC)")
247 UNAME_MACHINE="alphapca57" ;;
248 "EV6 (21264)")
249 UNAME_MACHINE="alphaev6" ;;
250 "EV6.7 (21264A)")
251 UNAME_MACHINE="alphaev67" ;;
252 "EV6.8CB (21264C)")
253 UNAME_MACHINE="alphaev68" ;;
254 "EV6.8AL (21264B)")
255 UNAME_MACHINE="alphaev68" ;;
256 "EV6.8CX (21264D)")
257 UNAME_MACHINE="alphaev68" ;;
258 "EV6.9A (21264/EV69A)")
259 UNAME_MACHINE="alphaev69" ;;
260 "EV7 (21364)")
261 UNAME_MACHINE="alphaev7" ;;
262 "EV7.9 (21364A)")
263 UNAME_MACHINE="alphaev79" ;;
264 esac
265 # A Pn.n version is a patched version.
266 # A Vn.n version is a released version.219 # A Vn.n version is a released version.
267 # A Tn.n version is a released field test version.220 # A Tn.n version is a released field test version.
268 # A Xn.n version is an unreleased experimental baselevel.221 # A Xn.n version is an unreleased experimental baselevel.
269 # 1.2 uses "1.2" for uname -r.222 # 1.2 uses "1.2" for uname -r.
270 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`223 cat <<EOF >$dummy.s
271 # Reset EXIT trap before exiting to avoid spurious non-zero exit code.224 .data
272 exitcode=$?225\$Lformat:
273 trap '' 0226 .byte 37,100,45,37,120,10,0 # "%d-%x\n"
274 exit $exitcode ;;227
228 .text
229 .globl main
230 .align 4
231 .ent main
232main:
233 .frame \$30,16,\$26,0
234 ldgp \$29,0(\$27)
235 .prologue 1
236 .long 0x47e03d80 # implver \$0
237 lda \$2,-1
238 .long 0x47e20c21 # amask \$2,\$1
239 lda \$16,\$Lformat
240 mov \$0,\$17
241 not \$1,\$18
242 jsr \$26,printf
243 ldgp \$29,0(\$26)
244 mov 0,\$16
245 jsr \$26,exit
246 .end main
247EOF
248 eval $set_cc_for_build
249 $CC_FOR_BUILD $dummy.s -o $dummy 2>/dev/null
250 if test "$?" = 0 ; then
251 case `./$dummy` in
252 0-0)
253 UNAME_MACHINE="alpha"
254 ;;
255 1-0)
256 UNAME_MACHINE="alphaev5"
257 ;;
258 1-1)
259 UNAME_MACHINE="alphaev56"
260 ;;
261 1-101)
262 UNAME_MACHINE="alphapca56"
263 ;;
264 2-303)
265 UNAME_MACHINE="alphaev6"
266 ;;
267 2-307)
268 UNAME_MACHINE="alphaev67"
269 ;;
270 2-1307)
271 UNAME_MACHINE="alphaev68"
272 ;;
273 esac
274 fi
275 rm -f $dummy.s $dummy
276 echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
277 exit 0 ;;
275 Alpha\ *:Windows_NT*:*)278 Alpha\ *:Windows_NT*:*)
276 # How do we know it's Interix rather than the generic POSIX subsystem?279 # How do we know it's Interix rather than the generic POSIX subsystem?
277 # Should we change UNAME_MACHINE based on the output of uname instead280 # Should we change UNAME_MACHINE based on the output of uname instead
278 # of the specific Alpha model?281 # of the specific Alpha model?
279 echo alpha-pc-interix282 echo alpha-pc-interix
280 exit ;;283 exit 0 ;;
281 21064:Windows_NT:50:3)284 21064:Windows_NT:50:3)
282 echo alpha-dec-winnt3.5285 echo alpha-dec-winnt3.5
283 exit ;;286 exit 0 ;;
284 Amiga*:UNIX_System_V:4.0:*)287 Amiga*:UNIX_System_V:4.0:*)
285 echo m68k-unknown-sysv4288 echo m68k-unknown-sysv4
286 exit ;;289 exit 0;;
287 *:[Aa]miga[Oo][Ss]:*:*)290 *:[Aa]miga[Oo][Ss]:*:*)
288 echo ${UNAME_MACHINE}-unknown-amigaos291 echo ${UNAME_MACHINE}-unknown-amigaos
289 exit ;;292 exit 0 ;;
290 *:[Mm]orph[Oo][Ss]:*:*)293 *:[Mm]orph[Oo][Ss]:*:*)
291 echo ${UNAME_MACHINE}-unknown-morphos294 echo ${UNAME_MACHINE}-unknown-morphos
292 exit ;;295 exit 0 ;;
293 *:OS/390:*:*)296 *:OS/390:*:*)
294 echo i370-ibm-openedition297 echo i370-ibm-openedition
295 exit ;;298 exit 0 ;;
296 *:z/VM:*:*)
297 echo s390-ibm-zvmoe
298 exit ;;
299 *:OS400:*:*)
300 echo powerpc-ibm-os400
301 exit ;;
302 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)299 arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
303 echo arm-acorn-riscix${UNAME_RELEASE}300 echo arm-acorn-riscix${UNAME_RELEASE}
304 exit ;;301 exit 0;;
305 arm:riscos:*:*|arm:RISCOS:*:*)
306 echo arm-unknown-riscos
307 exit ;;
308 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)302 SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
309 echo hppa1.1-hitachi-hiuxmpp303 echo hppa1.1-hitachi-hiuxmpp
310 exit ;;304 exit 0;;
311 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)305 Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
312 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.306 # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
313 if test "`(/bin/universe) 2>/dev/null`" = att ; then307 if test "`(/bin/universe) 2>/dev/null`" = att ; then
@@ -315,51 +309,25 @@
315 else309 else
316 echo pyramid-pyramid-bsd310 echo pyramid-pyramid-bsd
317 fi311 fi
318 exit ;;312 exit 0 ;;
319 NILE*:*:*:dcosx)313 NILE*:*:*:dcosx)
320 echo pyramid-pyramid-svr4314 echo pyramid-pyramid-svr4
321 exit ;;315 exit 0 ;;
322 DRS?6000:unix:4.0:6*)
323 echo sparc-icl-nx6
324 exit ;;
325 DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
326 case `/usr/bin/uname -p` in
327 sparc) echo sparc-icl-nx7; exit ;;
328 esac ;;
329 s390x:SunOS:*:*)
330 echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
331 exit ;;
332 sun4H:SunOS:5.*:*)316 sun4H:SunOS:5.*:*)
333 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`317 echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
334 exit ;;318 exit 0 ;;
335 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)319 sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
336 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`320 echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
337 exit ;;321 exit 0 ;;
338 i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)322 i86pc:SunOS:5.*:*)
339 echo i386-pc-auroraux${UNAME_RELEASE}323 echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
340 exit ;;324 exit 0 ;;
341 i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
342 eval $set_cc_for_build
343 SUN_ARCH="i386"
344 # If there is a compiler, see if it is configured for 64-bit objects.
345 # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
346 # This test works for both compilers.
347 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
348 if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
349 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
350 grep IS_64BIT_ARCH >/dev/null
351 then
352 SUN_ARCH="x86_64"
353 fi
354 fi
355 echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
356 exit ;;
357 sun4*:SunOS:6*:*)325 sun4*:SunOS:6*:*)
358 # According to config.sub, this is the proper way to canonicalize326 # According to config.sub, this is the proper way to canonicalize
359 # SunOS6. Hard to guess exactly what SunOS6 will be like, but327 # SunOS6. Hard to guess exactly what SunOS6 will be like, but
360 # it's likely to be more like Solaris than SunOS4.328 # it's likely to be more like Solaris than SunOS4.
361 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`329 echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
362 exit ;;330 exit 0 ;;
363 sun4*:SunOS:*:*)331 sun4*:SunOS:*:*)
364 case "`/usr/bin/arch -k`" in332 case "`/usr/bin/arch -k`" in
365 Series*|S4*)333 Series*|S4*)
@@ -368,10 +336,10 @@
368 esac336 esac
369 # Japanese Language versions have a version number like `4.1.3-JL'.337 # Japanese Language versions have a version number like `4.1.3-JL'.
370 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`338 echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
371 exit ;;339 exit 0 ;;
372 sun3*:SunOS:*:*)340 sun3*:SunOS:*:*)
373 echo m68k-sun-sunos${UNAME_RELEASE}341 echo m68k-sun-sunos${UNAME_RELEASE}
374 exit ;;342 exit 0 ;;
375 sun*:*:4.2BSD:*)343 sun*:*:4.2BSD:*)
376 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`344 UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
377 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3345 test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
@@ -383,10 +351,10 @@
383 echo sparc-sun-sunos${UNAME_RELEASE}351 echo sparc-sun-sunos${UNAME_RELEASE}
384 ;;352 ;;
385 esac353 esac
386 exit ;;354 exit 0 ;;
387 aushp:SunOS:*:*)355 aushp:SunOS:*:*)
388 echo sparc-auspex-sunos${UNAME_RELEASE}356 echo sparc-auspex-sunos${UNAME_RELEASE}
389 exit ;;357 exit 0 ;;
390 # The situation for MiNT is a little confusing. The machine name358 # The situation for MiNT is a little confusing. The machine name
391 # can be virtually everything (everything which is not359 # can be virtually everything (everything which is not
392 # "atarist" or "atariste" at least should have a processor360 # "atarist" or "atariste" at least should have a processor
@@ -396,41 +364,38 @@
396 # MiNT. But MiNT is downward compatible to TOS, so this should364 # MiNT. But MiNT is downward compatible to TOS, so this should
397 # be no problem.365 # be no problem.
398 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)366 atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
399 echo m68k-atari-mint${UNAME_RELEASE}367 echo m68k-atari-mint${UNAME_RELEASE}
400 exit ;;368 exit 0 ;;
401 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)369 atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
402 echo m68k-atari-mint${UNAME_RELEASE}370 echo m68k-atari-mint${UNAME_RELEASE}
403 exit ;;371 exit 0 ;;
404 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)372 *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
405 echo m68k-atari-mint${UNAME_RELEASE}373 echo m68k-atari-mint${UNAME_RELEASE}
406 exit ;;374 exit 0 ;;
407 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)375 milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
408 echo m68k-milan-mint${UNAME_RELEASE}376 echo m68k-milan-mint${UNAME_RELEASE}
409 exit ;;377 exit 0 ;;
410 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)378 hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
411 echo m68k-hades-mint${UNAME_RELEASE}379 echo m68k-hades-mint${UNAME_RELEASE}
412 exit ;;380 exit 0 ;;
413 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)381 *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
414 echo m68k-unknown-mint${UNAME_RELEASE}382 echo m68k-unknown-mint${UNAME_RELEASE}
415 exit ;;383 exit 0 ;;
416 m68k:machten:*:*)
417 echo m68k-apple-machten${UNAME_RELEASE}
418 exit ;;
419 powerpc:machten:*:*)384 powerpc:machten:*:*)
420 echo powerpc-apple-machten${UNAME_RELEASE}385 echo powerpc-apple-machten${UNAME_RELEASE}
421 exit ;;386 exit 0 ;;
422 RISC*:Mach:*:*)387 RISC*:Mach:*:*)
423 echo mips-dec-mach_bsd4.3388 echo mips-dec-mach_bsd4.3
424 exit ;;389 exit 0 ;;
425 RISC*:ULTRIX:*:*)390 RISC*:ULTRIX:*:*)
426 echo mips-dec-ultrix${UNAME_RELEASE}391 echo mips-dec-ultrix${UNAME_RELEASE}
427 exit ;;392 exit 0 ;;
428 VAX*:ULTRIX*:*:*)393 VAX*:ULTRIX*:*:*)
429 echo vax-dec-ultrix${UNAME_RELEASE}394 echo vax-dec-ultrix${UNAME_RELEASE}
430 exit ;;395 exit 0 ;;
431 2020:CLIX:*:* | 2430:CLIX:*:*)396 2020:CLIX:*:* | 2430:CLIX:*:*)
432 echo clipper-intergraph-clix${UNAME_RELEASE}397 echo clipper-intergraph-clix${UNAME_RELEASE}
433 exit ;;398 exit 0 ;;
434 mips:*:*:UMIPS | mips:*:*:RISCos)399 mips:*:*:UMIPS | mips:*:*:RISCos)
435 eval $set_cc_for_build400 eval $set_cc_for_build
436 sed 's/^ //' << EOF >$dummy.c401 sed 's/^ //' << EOF >$dummy.c
@@ -454,36 +419,30 @@
454 exit (-1);419 exit (-1);
455 }420 }
456EOF421EOF
457 $CC_FOR_BUILD -o $dummy $dummy.c &&422 $CC_FOR_BUILD $dummy.c -o $dummy \
458 dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&423 && ./$dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
459 SYSTEM_NAME=`$dummy $dummyarg` &&424 && rm -f $dummy.c $dummy && exit 0
460 { echo "$SYSTEM_NAME"; exit; }425 rm -f $dummy.c $dummy
461 echo mips-mips-riscos${UNAME_RELEASE}426 echo mips-mips-riscos${UNAME_RELEASE}
462 exit ;;427 exit 0 ;;
463 Motorola:PowerMAX_OS:*:*)428 Motorola:PowerMAX_OS:*:*)
464 echo powerpc-motorola-powermax429 echo powerpc-motorola-powermax
465 exit ;;430 exit 0 ;;
466 Motorola:*:4.3:PL8-*)
467 echo powerpc-harris-powermax
468 exit ;;
469 Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
470 echo powerpc-harris-powermax
471 exit ;;
472 Night_Hawk:Power_UNIX:*:*)431 Night_Hawk:Power_UNIX:*:*)
473 echo powerpc-harris-powerunix432 echo powerpc-harris-powerunix
474 exit ;;433 exit 0 ;;
475 m88k:CX/UX:7*:*)434 m88k:CX/UX:7*:*)
476 echo m88k-harris-cxux7435 echo m88k-harris-cxux7
477 exit ;;436 exit 0 ;;
478 m88k:*:4*:R4*)437 m88k:*:4*:R4*)
479 echo m88k-motorola-sysv4438 echo m88k-motorola-sysv4
480 exit ;;439 exit 0 ;;
481 m88k:*:3*:R3*)440 m88k:*:3*:R3*)
482 echo m88k-motorola-sysv3441 echo m88k-motorola-sysv3
483 exit ;;442 exit 0 ;;
484 AViiON:dgux:*:*)443 AViiON:dgux:*:*)
485 # DG/UX returns AViiON for all architectures444 # DG/UX returns AViiON for all architectures
486 UNAME_PROCESSOR=`/usr/bin/uname -p`445 UNAME_PROCESSOR=`/usr/bin/uname -p`
487 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]446 if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
488 then447 then
489 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \448 if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -496,29 +455,29 @@
496 else455 else
497 echo i586-dg-dgux${UNAME_RELEASE}456 echo i586-dg-dgux${UNAME_RELEASE}
498 fi457 fi
499 exit ;;458 exit 0 ;;
500 M88*:DolphinOS:*:*) # DolphinOS (SVR3)459 M88*:DolphinOS:*:*) # DolphinOS (SVR3)
501 echo m88k-dolphin-sysv3460 echo m88k-dolphin-sysv3
502 exit ;;461 exit 0 ;;
503 M88*:*:R3*:*)462 M88*:*:R3*:*)
504 # Delta 88k system running SVR3463 # Delta 88k system running SVR3
505 echo m88k-motorola-sysv3464 echo m88k-motorola-sysv3
506 exit ;;465 exit 0 ;;
507 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)466 XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
508 echo m88k-tektronix-sysv3467 echo m88k-tektronix-sysv3
509 exit ;;468 exit 0 ;;
510 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)469 Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
511 echo m68k-tektronix-bsd470 echo m68k-tektronix-bsd
512 exit ;;471 exit 0 ;;
513 *:IRIX*:*:*)472 *:IRIX*:*:*)
514 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`473 echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
515 exit ;;474 exit 0 ;;
516 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.475 ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
517 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id476 echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
518 exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '477 exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
519 i*86:AIX:*:*)478 i*86:AIX:*:*)
520 echo i386-ibm-aix479 echo i386-ibm-aix
521 exit ;;480 exit 0 ;;
522 ia64:AIX:*:*)481 ia64:AIX:*:*)
523 if [ -x /usr/bin/oslevel ] ; then482 if [ -x /usr/bin/oslevel ] ; then
524 IBM_REV=`/usr/bin/oslevel`483 IBM_REV=`/usr/bin/oslevel`
@@ -526,7 +485,7 @@
526 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}485 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
527 fi486 fi
528 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}487 echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
529 exit ;;488 exit 0 ;;
530 *:AIX:2:3)489 *:AIX:2:3)
531 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then490 if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
532 eval $set_cc_for_build491 eval $set_cc_for_build
@@ -541,19 +500,16 @@
541 exit(0);500 exit(0);
542 }501 }
543EOF502EOF
544 if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`503 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
545 then504 rm -f $dummy.c $dummy
546 echo "$SYSTEM_NAME"505 echo rs6000-ibm-aix3.2.5
547 else
548 echo rs6000-ibm-aix3.2.5
549 fi
550 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then506 elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
551 echo rs6000-ibm-aix3.2.4507 echo rs6000-ibm-aix3.2.4
552 else508 else
553 echo rs6000-ibm-aix3.2509 echo rs6000-ibm-aix3.2
554 fi510 fi
555 exit ;;511 exit 0 ;;
556 *:AIX:*:[4567])512 *:AIX:*:[45])
557 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`513 IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
558 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then514 if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
559 IBM_ARCH=rs6000515 IBM_ARCH=rs6000
@@ -566,28 +522,28 @@
566 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}522 IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
567 fi523 fi
568 echo ${IBM_ARCH}-ibm-aix${IBM_REV}524 echo ${IBM_ARCH}-ibm-aix${IBM_REV}
569 exit ;;525 exit 0 ;;
570 *:AIX:*:*)526 *:AIX:*:*)
571 echo rs6000-ibm-aix527 echo rs6000-ibm-aix
572 exit ;;528 exit 0 ;;
573 ibmrt:4.4BSD:*|romp-ibm:BSD:*)529 ibmrt:4.4BSD:*|romp-ibm:BSD:*)
574 echo romp-ibm-bsd4.4530 echo romp-ibm-bsd4.4
575 exit ;;531 exit 0 ;;
576 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and532 ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
577 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to533 echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
578 exit ;; # report: romp-ibm BSD 4.3534 exit 0 ;; # report: romp-ibm BSD 4.3
579 *:BOSX:*:*)535 *:BOSX:*:*)
580 echo rs6000-bull-bosx536 echo rs6000-bull-bosx
581 exit ;;537 exit 0 ;;
582 DPX/2?00:B.O.S.:*:*)538 DPX/2?00:B.O.S.:*:*)
583 echo m68k-bull-sysv3539 echo m68k-bull-sysv3
584 exit ;;540 exit 0 ;;
585 9000/[34]??:4.3bsd:1.*:*)541 9000/[34]??:4.3bsd:1.*:*)
586 echo m68k-hp-bsd542 echo m68k-hp-bsd
587 exit ;;543 exit 0 ;;
588 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)544 hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
589 echo m68k-hp-bsd4.4545 echo m68k-hp-bsd4.4
590 exit ;;546 exit 0 ;;
591 9000/[34678]??:HP-UX:*:*)547 9000/[34678]??:HP-UX:*:*)
592 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`548 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
593 case "${UNAME_MACHINE}" in549 case "${UNAME_MACHINE}" in
@@ -596,84 +552,64 @@
596 9000/[678][0-9][0-9])552 9000/[678][0-9][0-9])
597 if [ -x /usr/bin/getconf ]; then553 if [ -x /usr/bin/getconf ]; then
598 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`554 sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
599 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`555 sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
600 case "${sc_cpu_version}" in556 case "${sc_cpu_version}" in
601 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0557 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
602 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1558 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
603 532) # CPU_PA_RISC2_0559 532) # CPU_PA_RISC2_0
604 case "${sc_kernel_bits}" in560 case "${sc_kernel_bits}" in
605 32) HP_ARCH="hppa2.0n" ;;561 32) HP_ARCH="hppa2.0n" ;;
606 64) HP_ARCH="hppa2.0w" ;;562 64) HP_ARCH="hppa2.0w" ;;
607 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20563 '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
608 esac ;;564 esac ;;
609 esac565 esac
610 fi566 fi
611 if [ "${HP_ARCH}" = "" ]; then567 if [ "${HP_ARCH}" = "" ]; then
612 eval $set_cc_for_build568 eval $set_cc_for_build
613 sed 's/^ //' << EOF >$dummy.c569 sed 's/^ //' << EOF >$dummy.c
614570
615 #define _HPUX_SOURCE571 #define _HPUX_SOURCE
616 #include <stdlib.h>572 #include <stdlib.h>
617 #include <unistd.h>573 #include <unistd.h>
618574
619 int main ()575 int main ()
620 {576 {
621 #if defined(_SC_KERNEL_BITS)577 #if defined(_SC_KERNEL_BITS)
622 long bits = sysconf(_SC_KERNEL_BITS);578 long bits = sysconf(_SC_KERNEL_BITS);
623 #endif579 #endif
624 long cpu = sysconf (_SC_CPU_VERSION);580 long cpu = sysconf (_SC_CPU_VERSION);
625581
626 switch (cpu)582 switch (cpu)
627 {583 {
628 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;584 case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
629 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;585 case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
630 case CPU_PA_RISC2_0:586 case CPU_PA_RISC2_0:
631 #if defined(_SC_KERNEL_BITS)587 #if defined(_SC_KERNEL_BITS)
632 switch (bits)588 switch (bits)
633 {589 {
634 case 64: puts ("hppa2.0w"); break;590 case 64: puts ("hppa2.0w"); break;
635 case 32: puts ("hppa2.0n"); break;591 case 32: puts ("hppa2.0n"); break;
636 default: puts ("hppa2.0"); break;592 default: puts ("hppa2.0"); break;
637 } break;593 } break;
638 #else /* !defined(_SC_KERNEL_BITS) */594 #else /* !defined(_SC_KERNEL_BITS) */
639 puts ("hppa2.0"); break;595 puts ("hppa2.0"); break;
640 #endif596 #endif
641 default: puts ("hppa1.0"); break;597 default: puts ("hppa1.0"); break;
642 }598 }
643 exit (0);599 exit (0);
644 }600 }
645EOF601EOF
646 (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`602 (CCOPTS= $CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null) && HP_ARCH=`./$dummy`
647 test -z "$HP_ARCH" && HP_ARCH=hppa603 if test -z "$HP_ARCH"; then HP_ARCH=hppa; fi
604 rm -f $dummy.c $dummy
648 fi ;;605 fi ;;
649 esac606 esac
650 if [ ${HP_ARCH} = "hppa2.0w" ]
651 then
652 eval $set_cc_for_build
653
654 # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
655 # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
656 # generating 64-bit code. GNU and HP use different nomenclature:
657 #
658 # $ CC_FOR_BUILD=cc ./config.guess
659 # => hppa2.0w-hp-hpux11.23
660 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
661 # => hppa64-hp-hpux11.23
662
663 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
664 grep -q __LP64__
665 then
666 HP_ARCH="hppa2.0w"
667 else
668 HP_ARCH="hppa64"
669 fi
670 fi
671 echo ${HP_ARCH}-hp-hpux${HPUX_REV}607 echo ${HP_ARCH}-hp-hpux${HPUX_REV}
672 exit ;;608 exit 0 ;;
673 ia64:HP-UX:*:*)609 ia64:HP-UX:*:*)
674 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`610 HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
675 echo ia64-hp-hpux${HPUX_REV}611 echo ia64-hp-hpux${HPUX_REV}
676 exit ;;612 exit 0 ;;
677 3050*:HI-UX:*:*)613 3050*:HI-UX:*:*)
678 eval $set_cc_for_build614 eval $set_cc_for_build
679 sed 's/^ //' << EOF >$dummy.c615 sed 's/^ //' << EOF >$dummy.c
@@ -701,173 +637,160 @@
701 exit (0);637 exit (0);
702 }638 }
703EOF639EOF
704 $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&640 $CC_FOR_BUILD $dummy.c -o $dummy && ./$dummy && rm -f $dummy.c $dummy && exit 0
705 { echo "$SYSTEM_NAME"; exit; }641 rm -f $dummy.c $dummy
706 echo unknown-hitachi-hiuxwe2642 echo unknown-hitachi-hiuxwe2
707 exit ;;643 exit 0 ;;
708 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )644 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
709 echo hppa1.1-hp-bsd645 echo hppa1.1-hp-bsd
710 exit ;;646 exit 0 ;;
711 9000/8??:4.3bsd:*:*)647 9000/8??:4.3bsd:*:*)
712 echo hppa1.0-hp-bsd648 echo hppa1.0-hp-bsd
713 exit ;;649 exit 0 ;;
714 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)650 *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
715 echo hppa1.0-hp-mpeix651 echo hppa1.0-hp-mpeix
716 exit ;;652 exit 0 ;;
717 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )653 hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
718 echo hppa1.1-hp-osf654 echo hppa1.1-hp-osf
719 exit ;;655 exit 0 ;;
720 hp8??:OSF1:*:*)656 hp8??:OSF1:*:*)
721 echo hppa1.0-hp-osf657 echo hppa1.0-hp-osf
722 exit ;;658 exit 0 ;;
723 i*86:OSF1:*:*)659 i*86:OSF1:*:*)
724 if [ -x /usr/sbin/sysversion ] ; then660 if [ -x /usr/sbin/sysversion ] ; then
725 echo ${UNAME_MACHINE}-unknown-osf1mk661 echo ${UNAME_MACHINE}-unknown-osf1mk
726 else662 else
727 echo ${UNAME_MACHINE}-unknown-osf1663 echo ${UNAME_MACHINE}-unknown-osf1
728 fi664 fi
729 exit ;;665 exit 0 ;;
730 parisc*:Lites*:*:*)666 parisc*:Lites*:*:*)
731 echo hppa1.1-hp-lites667 echo hppa1.1-hp-lites
732 exit ;;668 exit 0 ;;
733 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)669 C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
734 echo c1-convex-bsd670 echo c1-convex-bsd
735 exit ;;671 exit 0 ;;
736 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)672 C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
737 if getsysinfo -f scalar_acc673 if getsysinfo -f scalar_acc
738 then echo c32-convex-bsd674 then echo c32-convex-bsd
739 else echo c2-convex-bsd675 else echo c2-convex-bsd
740 fi676 fi
741 exit ;;677 exit 0 ;;
742 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)678 C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
743 echo c34-convex-bsd679 echo c34-convex-bsd
744 exit ;;680 exit 0 ;;
745 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)681 C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
746 echo c38-convex-bsd682 echo c38-convex-bsd
747 exit ;;683 exit 0 ;;
748 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)684 C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
749 echo c4-convex-bsd685 echo c4-convex-bsd
750 exit ;;686 exit 0 ;;
751 CRAY*Y-MP:*:*:*)687 CRAY*Y-MP:*:*:*)
752 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'688 echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
753 exit ;;689 exit 0 ;;
754 CRAY*[A-Z]90:*:*:*)690 CRAY*[A-Z]90:*:*:*)
755 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \691 echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
756 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \692 | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
757 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \693 -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
758 -e 's/\.[^.]*$/.X/'694 -e 's/\.[^.]*$/.X/'
759 exit ;;695 exit 0 ;;
760 CRAY*TS:*:*:*)696 CRAY*TS:*:*:*)
761 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'697 echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
762 exit ;;698 exit 0 ;;
699 CRAY*T3D:*:*:*)
700 echo alpha-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
701 exit 0 ;;
763 CRAY*T3E:*:*:*)702 CRAY*T3E:*:*:*)
764 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'703 echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
765 exit ;;704 exit 0 ;;
766 CRAY*SV1:*:*:*)705 CRAY*SV1:*:*:*)
767 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'706 echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
768 exit ;;707 exit 0 ;;
769 *:UNICOS/mp:*:*)
770 echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
771 exit ;;
772 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)708 F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
773 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`709 FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
774 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`710 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
775 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`711 FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
776 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"712 echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
777 exit ;;713 exit 0 ;;
778 5000:UNIX_System_V:4.*:*)
779 FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
780 FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
781 echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
782 exit ;;
783 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)714 i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
784 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}715 echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
785 exit ;;716 exit 0 ;;
786 sparc*:BSD/OS:*:*)717 sparc*:BSD/OS:*:*)
787 echo sparc-unknown-bsdi${UNAME_RELEASE}718 echo sparc-unknown-bsdi${UNAME_RELEASE}
788 exit ;;719 exit 0 ;;
789 *:BSD/OS:*:*)720 *:BSD/OS:*:*)
790 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}721 echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
791 exit ;;722 exit 0 ;;
792 *:FreeBSD:*:*)723 *:FreeBSD:*:*)
793 UNAME_PROCESSOR=`/usr/bin/uname -p`724 echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
794 case ${UNAME_PROCESSOR} in725 exit 0 ;;
795 amd64)
796 echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
797 *)
798 echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
799 esac
800 exit ;;
801 i*:CYGWIN*:*)726 i*:CYGWIN*:*)
802 echo ${UNAME_MACHINE}-pc-cygwin727 echo ${UNAME_MACHINE}-pc-cygwin
803 exit ;;728 exit 0 ;;
804 *:MINGW*:*)729 i*:MINGW*:*)
805 echo ${UNAME_MACHINE}-pc-mingw32730 echo ${UNAME_MACHINE}-pc-mingw32
806 exit ;;731 exit 0 ;;
807 i*:MSYS*:*)
808 echo ${UNAME_MACHINE}-pc-msys
809 exit ;;
810 i*:windows32*:*)
811 # uname -m includes "-pc" on this system.
812 echo ${UNAME_MACHINE}-mingw32
813 exit ;;
814 i*:PW*:*)732 i*:PW*:*)
815 echo ${UNAME_MACHINE}-pc-pw32733 echo ${UNAME_MACHINE}-pc-pw32
816 exit ;;734 exit 0 ;;
817 *:Interix*:*)735 x86:Interix*:3*)
818 case ${UNAME_MACHINE} in736 echo i386-pc-interix3
819 x86)737 exit 0 ;;
820 echo i586-pc-interix${UNAME_RELEASE}
821 exit ;;
822 authenticamd | genuineintel | EM64T)
823 echo x86_64-unknown-interix${UNAME_RELEASE}
824 exit ;;
825 IA64)
826 echo ia64-unknown-interix${UNAME_RELEASE}
827 exit ;;
828 esac ;;
829 [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
830 echo i${UNAME_MACHINE}-pc-mks
831 exit ;;
832 8664:Windows_NT:*)
833 echo x86_64-pc-mks
834 exit ;;
835 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)738 i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
836 # How do we know it's Interix rather than the generic POSIX subsystem?739 # How do we know it's Interix rather than the generic POSIX subsystem?
837 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we740 # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
838 # UNAME_MACHINE based on the output of uname instead of i386?741 # UNAME_MACHINE based on the output of uname instead of i386?
839 echo i586-pc-interix742 echo i386-pc-interix
840 exit ;;743 exit 0 ;;
841 i*:UWIN*:*)744 i*:UWIN*:*)
842 echo ${UNAME_MACHINE}-pc-uwin745 echo ${UNAME_MACHINE}-pc-uwin
843 exit ;;746 exit 0 ;;
844 amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
845 echo x86_64-unknown-cygwin
846 exit ;;
847 p*:CYGWIN*:*)747 p*:CYGWIN*:*)
848 echo powerpcle-unknown-cygwin748 echo powerpcle-unknown-cygwin
849 exit ;;749 exit 0 ;;
850 prep*:SunOS:5.*:*)750 prep*:SunOS:5.*:*)
851 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`751 echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
852 exit ;;752 exit 0 ;;
853 *:GNU:*:*)753 *:GNU:*:*)
854 # the GNU system
855 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`754 echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
856 exit ;;755 exit 0 ;;
857 *:GNU/*:*:*)
858 # other systems with GNU libc and userland
859 echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
860 exit ;;
861 i*86:Minix:*:*)756 i*86:Minix:*:*)
862 echo ${UNAME_MACHINE}-pc-minix757 echo ${UNAME_MACHINE}-pc-minix
863 exit ;;758 exit 0 ;;
864 aarch64:Linux:*:*)759 arm*:Linux:*:*)
865 echo ${UNAME_MACHINE}-unknown-linux-gnu760 echo ${UNAME_MACHINE}-unknown-linux-gnu
866 exit ;;761 exit 0 ;;
867 aarch64_be:Linux:*:*)762 ia64:Linux:*:*)
868 UNAME_MACHINE=aarch64_be763 echo ${UNAME_MACHINE}-unknown-linux-gnu
869 echo ${UNAME_MACHINE}-unknown-linux-gnu764 exit 0 ;;
870 exit ;;765 m68*:Linux:*:*)
766 echo ${UNAME_MACHINE}-unknown-linux-gnu
767 exit 0 ;;
768 mips:Linux:*:*)
769 eval $set_cc_for_build
770 sed 's/^ //' << EOF >$dummy.c
771 #undef CPU
772 #undef mips
773 #undef mipsel
774 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
775 CPU=mipsel
776 #else
777 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
778 CPU=mips
779 #else
780 CPU=
781 #endif
782 #endif
783EOF
784 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
785 rm -f $dummy.c
786 test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
787 ;;
788 ppc:Linux:*:*)
789 echo powerpc-unknown-linux-gnu
790 exit 0 ;;
791 ppc64:Linux:*:*)
792 echo powerpc64-unknown-linux-gnu
793 exit 0 ;;
871 alpha:Linux:*:*)794 alpha:Linux:*:*)
872 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in795 case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
873 EV5) UNAME_MACHINE=alphaev5 ;;796 EV5) UNAME_MACHINE=alphaev5 ;;
@@ -877,90 +800,11 @@
877 EV6) UNAME_MACHINE=alphaev6 ;;800 EV6) UNAME_MACHINE=alphaev6 ;;
878 EV67) UNAME_MACHINE=alphaev67 ;;801 EV67) UNAME_MACHINE=alphaev67 ;;
879 EV68*) UNAME_MACHINE=alphaev68 ;;802 EV68*) UNAME_MACHINE=alphaev68 ;;
880 esac803 esac
881 objdump --private-headers /bin/sh | grep -q ld.so.1804 objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
882 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi805 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
883 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}806 echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
884 exit ;;807 exit 0 ;;
885 arm*:Linux:*:*)
886 eval $set_cc_for_build
887 if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
888 | grep -q __ARM_EABI__
889 then
890 echo ${UNAME_MACHINE}-unknown-linux-gnu
891 else
892 if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
893 | grep -q __ARM_PCS_VFP
894 then
895 echo ${UNAME_MACHINE}-unknown-linux-gnueabi
896 else
897 echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
898 fi
899 fi
900 exit ;;
901 avr32*:Linux:*:*)
902 echo ${UNAME_MACHINE}-unknown-linux-gnu
903 exit ;;
904 cris:Linux:*:*)
905 echo ${UNAME_MACHINE}-axis-linux-gnu
906 exit ;;
907 crisv32:Linux:*:*)
908 echo ${UNAME_MACHINE}-axis-linux-gnu
909 exit ;;
910 frv:Linux:*:*)
911 echo ${UNAME_MACHINE}-unknown-linux-gnu
912 exit ;;
913 hexagon:Linux:*:*)
914 echo ${UNAME_MACHINE}-unknown-linux-gnu
915 exit ;;
916 i*86:Linux:*:*)
917 LIBC=gnu
918 eval $set_cc_for_build
919 sed 's/^ //' << EOF >$dummy.c
920 #ifdef __dietlibc__
921 LIBC=dietlibc
922 #endif
923EOF
924 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
925 echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
926 exit ;;
927 ia64:Linux:*:*)
928 echo ${UNAME_MACHINE}-unknown-linux-gnu
929 exit ;;
930 m32r*:Linux:*:*)
931 echo ${UNAME_MACHINE}-unknown-linux-gnu
932 exit ;;
933 m68*:Linux:*:*)
934 echo ${UNAME_MACHINE}-unknown-linux-gnu
935 exit ;;
936 mips:Linux:*:* | mips64:Linux:*:*)
937 eval $set_cc_for_build
938 sed 's/^ //' << EOF >$dummy.c
939 #undef CPU
940 #undef ${UNAME_MACHINE}
941 #undef ${UNAME_MACHINE}el
942 #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
943 CPU=${UNAME_MACHINE}el
944 #else
945 #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
946 CPU=${UNAME_MACHINE}
947 #else
948 CPU=
949 #endif
950 #endif
951EOF
952 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
953 test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
954 ;;
955 or32:Linux:*:*)
956 echo ${UNAME_MACHINE}-unknown-linux-gnu
957 exit ;;
958 padre:Linux:*:*)
959 echo sparc-unknown-linux-gnu
960 exit ;;
961 parisc64:Linux:*:* | hppa64:Linux:*:*)
962 echo hppa64-unknown-linux-gnu
963 exit ;;
964 parisc:Linux:*:* | hppa:Linux:*:*)808 parisc:Linux:*:* | hppa:Linux:*:*)
965 # Look for CPU level809 # Look for CPU level
966 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in810 case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
@@ -968,71 +812,90 @@
968 PA8*) echo hppa2.0-unknown-linux-gnu ;;812 PA8*) echo hppa2.0-unknown-linux-gnu ;;
969 *) echo hppa-unknown-linux-gnu ;;813 *) echo hppa-unknown-linux-gnu ;;
970 esac814 esac
971 exit ;;815 exit 0 ;;
972 ppc64:Linux:*:*)816 parisc64:Linux:*:* | hppa64:Linux:*:*)
973 echo powerpc64-unknown-linux-gnu817 echo hppa64-unknown-linux-gnu
974 exit ;;818 exit 0 ;;
975 ppc:Linux:*:*)
976 echo powerpc-unknown-linux-gnu
977 exit ;;
978 s390:Linux:*:* | s390x:Linux:*:*)819 s390:Linux:*:* | s390x:Linux:*:*)
979 echo ${UNAME_MACHINE}-ibm-linux820 echo ${UNAME_MACHINE}-ibm-linux
980 exit ;;821 exit 0 ;;
981 sh64*:Linux:*:*)
982 echo ${UNAME_MACHINE}-unknown-linux-gnu
983 exit ;;
984 sh*:Linux:*:*)822 sh*:Linux:*:*)
985 echo ${UNAME_MACHINE}-unknown-linux-gnu823 echo ${UNAME_MACHINE}-unknown-linux-gnu
986 exit ;;824 exit 0 ;;
987 sparc:Linux:*:* | sparc64:Linux:*:*)825 sparc:Linux:*:* | sparc64:Linux:*:*)
988 echo ${UNAME_MACHINE}-unknown-linux-gnu826 echo ${UNAME_MACHINE}-unknown-linux-gnu
989 exit ;;827 exit 0 ;;
990 tile*:Linux:*:*)
991 echo ${UNAME_MACHINE}-unknown-linux-gnu
992 exit ;;
993 vax:Linux:*:*)
994 echo ${UNAME_MACHINE}-dec-linux-gnu
995 exit ;;
996 x86_64:Linux:*:*)828 x86_64:Linux:*:*)
997 echo ${UNAME_MACHINE}-unknown-linux-gnu829 echo x86_64-unknown-linux-gnu
998 exit ;;830 exit 0 ;;
999 xtensa*:Linux:*:*)831 i*86:Linux:*:*)
1000 echo ${UNAME_MACHINE}-unknown-linux-gnu832 # The BFD linker knows what the default object file format is, so
1001 exit ;;833 # first see if it will tell us. cd to the root directory to prevent
834 # problems with other programs or directories called `ld' in the path.
835 # Set LC_ALL=C to ensure ld outputs messages in English.
836 ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
837 | sed -ne '/supported targets:/!d
838 s/[ ][ ]*/ /g
839 s/.*supported targets: *//
840 s/ .*//
841 p'`
842 case "$ld_supported_targets" in
843 elf32-i386)
844 TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
845 ;;
846 a.out-i386-linux)
847 echo "${UNAME_MACHINE}-pc-linux-gnuaout"
848 exit 0 ;;
849 coff-i386)
850 echo "${UNAME_MACHINE}-pc-linux-gnucoff"
851 exit 0 ;;
852 "")
853 # Either a pre-BFD a.out linker (linux-gnuoldld) or
854 # one that does not give us useful --help.
855 echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
856 exit 0 ;;
857 esac
858 # Determine whether the default compiler is a.out or elf
859 eval $set_cc_for_build
860 sed 's/^ //' << EOF >$dummy.c
861 #include <features.h>
862 #ifdef __ELF__
863 # ifdef __GLIBC__
864 # if __GLIBC__ >= 2
865 LIBC=gnu
866 # else
867 LIBC=gnulibc1
868 # endif
869 # else
870 LIBC=gnulibc1
871 # endif
872 #else
873 #ifdef __INTEL_COMPILER
874 LIBC=gnu
875 #else
876 LIBC=gnuaout
877 #endif
878 #endif
879EOF
880 eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
881 rm -f $dummy.c
882 test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
883 test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
884 ;;
1002 i*86:DYNIX/ptx:4*:*)885 i*86:DYNIX/ptx:4*:*)
1003 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.886 # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
1004 # earlier versions are messed up and put the nodename in both887 # earlier versions are messed up and put the nodename in both
1005 # sysname and nodename.888 # sysname and nodename.
1006 echo i386-sequent-sysv4889 echo i386-sequent-sysv4
1007 exit ;;890 exit 0 ;;
1008 i*86:UNIX_SV:4.2MP:2.*)891 i*86:UNIX_SV:4.2MP:2.*)
1009 # Unixware is an offshoot of SVR4, but it has its own version892 # Unixware is an offshoot of SVR4, but it has its own version
1010 # number series starting with 2...893 # number series starting with 2...
1011 # I am not positive that other SVR4 systems won't match this,894 # I am not positive that other SVR4 systems won't match this,
1012 # I just have to hope. -- rms.895 # I just have to hope. -- rms.
1013 # Use sysv4.2uw... so that sysv4* matches it.896 # Use sysv4.2uw... so that sysv4* matches it.
1014 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}897 echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
1015 exit ;;898 exit 0 ;;
1016 i*86:OS/2:*:*)
1017 # If we were able to find `uname', then EMX Unix compatibility
1018 # is probably installed.
1019 echo ${UNAME_MACHINE}-pc-os2-emx
1020 exit ;;
1021 i*86:XTS-300:*:STOP)
1022 echo ${UNAME_MACHINE}-unknown-stop
1023 exit ;;
1024 i*86:atheos:*:*)
1025 echo ${UNAME_MACHINE}-unknown-atheos
1026 exit ;;
1027 i*86:syllable:*:*)
1028 echo ${UNAME_MACHINE}-pc-syllable
1029 exit ;;
1030 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
1031 echo i386-unknown-lynxos${UNAME_RELEASE}
1032 exit ;;
1033 i*86:*DOS:*:*)
1034 echo ${UNAME_MACHINE}-pc-msdosdjgpp
1035 exit ;;
1036 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)899 i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
1037 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`900 UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
1038 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then901 if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
@@ -1040,113 +903,99 @@
1040 else903 else
1041 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}904 echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
1042 fi905 fi
1043 exit ;;906 exit 0 ;;
1044 i*86:*:5:[678]*)907 i*86:*:5:[78]*)
1045 # UnixWare 7.x, OpenUNIX and OpenServer 6.
1046 case `/bin/uname -X | grep "^Machine"` in908 case `/bin/uname -X | grep "^Machine"` in
1047 *486*) UNAME_MACHINE=i486 ;;909 *486*) UNAME_MACHINE=i486 ;;
1048 *Pentium) UNAME_MACHINE=i586 ;;910 *Pentium) UNAME_MACHINE=i586 ;;
1049 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;911 *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
1050 esac912 esac
1051 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}913 echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
1052 exit ;;914 exit 0 ;;
1053 i*86:*:3.2:*)915 i*86:*:3.2:*)
1054 if test -f /usr/options/cb.name; then916 if test -f /usr/options/cb.name; then
1055 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`917 UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
1056 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL918 echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
1057 elif /bin/uname -X 2>/dev/null >/dev/null ; then919 elif /bin/uname -X 2>/dev/null >/dev/null ; then
1058 UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`920 UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
1059 (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486921 (/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
1060 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \922 (/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
1061 && UNAME_MACHINE=i586923 && UNAME_MACHINE=i586
1062 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \924 (/bin/uname -X|egrep '^Machine.*Pent ?II' >/dev/null) \
1063 && UNAME_MACHINE=i686925 && UNAME_MACHINE=i686
1064 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \926 (/bin/uname -X|egrep '^Machine.*Pentium Pro' >/dev/null) \
1065 && UNAME_MACHINE=i686927 && UNAME_MACHINE=i686
1066 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL928 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
1067 else929 else
1068 echo ${UNAME_MACHINE}-pc-sysv32930 echo ${UNAME_MACHINE}-pc-sysv32
1069 fi931 fi
1070 exit ;;932 exit 0 ;;
933 i*86:*DOS:*:*)
934 echo ${UNAME_MACHINE}-pc-msdosdjgpp
935 exit 0 ;;
1071 pc:*:*:*)936 pc:*:*:*)
1072 # Left here for compatibility:937 # Left here for compatibility:
1073 # uname -m prints for DJGPP always 'pc', but it prints nothing about938 # uname -m prints for DJGPP always 'pc', but it prints nothing about
1074 # the processor, so we play safe by assuming i586.939 # the processor, so we play safe by assuming i386.
1075 # Note: whatever this is, it MUST be the same as what config.sub940 echo i386-pc-msdosdjgpp
1076 # prints for the "djgpp" host, or else GDB configury will decide that941 exit 0 ;;
1077 # this is a cross-build.
1078 echo i586-pc-msdosdjgpp
1079 exit ;;
1080 Intel:Mach:3*:*)942 Intel:Mach:3*:*)
1081 echo i386-pc-mach3943 echo i386-pc-mach3
1082 exit ;;944 exit 0 ;;
1083 paragon:*:*:*)945 paragon:*:*:*)
1084 echo i860-intel-osf1946 echo i860-intel-osf1
1085 exit ;;947 exit 0 ;;
1086 i860:*:4.*:*) # i860-SVR4948 i860:*:4.*:*) # i860-SVR4
1087 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then949 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
1088 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4950 echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
1089 else # Add other i860-SVR4 vendors below as they are discovered.951 else # Add other i860-SVR4 vendors below as they are discovered.
1090 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4952 echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
1091 fi953 fi
1092 exit ;;954 exit 0 ;;
1093 mini*:CTIX:SYS*5:*)955 mini*:CTIX:SYS*5:*)
1094 # "miniframe"956 # "miniframe"
1095 echo m68010-convergent-sysv957 echo m68010-convergent-sysv
1096 exit ;;958 exit 0 ;;
1097 mc68k:UNIX:SYSTEM5:3.51m)959 M68*:*:R3V[567]*:*)
1098 echo m68k-convergent-sysv960 test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
1099 exit ;;961 3[34]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0)
1100 M680?0:D-NIX:5.3:*)
1101 echo m68k-diab-dnix
1102 exit ;;
1103 M68*:*:R3V[5678]*:*)
1104 test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
1105 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
1106 OS_REL=''962 OS_REL=''
1107 test -r /etc/.relid \963 test -r /etc/.relid \
1108 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`964 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1109 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \965 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1110 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }966 && echo i486-ncr-sysv4.3${OS_REL} && exit 0
1111 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \967 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1112 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;968 && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
1113 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)969 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
1114 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \970 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1115 && { echo i486-ncr-sysv4; exit; } ;;971 && echo i486-ncr-sysv4 && exit 0 ;;
1116 NCR*:*:4.2:* | MPRAS*:*:4.2:*)
1117 OS_REL='.3'
1118 test -r /etc/.relid \
1119 && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
1120 /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
1121 && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
1122 /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
1123 && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
1124 /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
1125 && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
1126 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)972 m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
1127 echo m68k-unknown-lynxos${UNAME_RELEASE}973 echo m68k-unknown-lynxos${UNAME_RELEASE}
1128 exit ;;974 exit 0 ;;
1129 mc68030:UNIX_System_V:4.*:*)975 mc68030:UNIX_System_V:4.*:*)
1130 echo m68k-atari-sysv4976 echo m68k-atari-sysv4
1131 exit ;;977 exit 0 ;;
978 i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
979 echo i386-unknown-lynxos${UNAME_RELEASE}
980 exit 0 ;;
1132 TSUNAMI:LynxOS:2.*:*)981 TSUNAMI:LynxOS:2.*:*)
1133 echo sparc-unknown-lynxos${UNAME_RELEASE}982 echo sparc-unknown-lynxos${UNAME_RELEASE}
1134 exit ;;983 exit 0 ;;
1135 rs6000:LynxOS:2.*:*)984 rs6000:LynxOS:2.*:*)
1136 echo rs6000-unknown-lynxos${UNAME_RELEASE}985 echo rs6000-unknown-lynxos${UNAME_RELEASE}
1137 exit ;;986 exit 0 ;;
1138 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)987 PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
1139 echo powerpc-unknown-lynxos${UNAME_RELEASE}988 echo powerpc-unknown-lynxos${UNAME_RELEASE}
1140 exit ;;989 exit 0 ;;
1141 SM[BE]S:UNIX_SV:*:*)990 SM[BE]S:UNIX_SV:*:*)
1142 echo mips-dde-sysv${UNAME_RELEASE}991 echo mips-dde-sysv${UNAME_RELEASE}
1143 exit ;;992 exit 0 ;;
1144 RM*:ReliantUNIX-*:*:*)993 RM*:ReliantUNIX-*:*:*)
1145 echo mips-sni-sysv4994 echo mips-sni-sysv4
1146 exit ;;995 exit 0 ;;
1147 RM*:SINIX-*:*:*)996 RM*:SINIX-*:*:*)
1148 echo mips-sni-sysv4997 echo mips-sni-sysv4
1149 exit ;;998 exit 0 ;;
1150 *:SINIX-*:*:*)999 *:SINIX-*:*:*)
1151 if uname -p 2>/dev/null >/dev/null ; then1000 if uname -p 2>/dev/null >/dev/null ; then
1152 UNAME_MACHINE=`(uname -p) 2>/dev/null`1001 UNAME_MACHINE=`(uname -p) 2>/dev/null`
@@ -1154,94 +1003,61 @@
1154 else1003 else
1155 echo ns32k-sni-sysv1004 echo ns32k-sni-sysv
1156 fi1005 fi
1157 exit ;;1006 exit 0 ;;
1158 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort1007 PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1159 # says <Richard.M.Bartel@ccMail.Census.GOV>1008 # says <Richard.M.Bartel@ccMail.Census.GOV>
1160 echo i586-unisys-sysv41009 echo i586-unisys-sysv4
1161 exit ;;1010 exit 0 ;;
1162 *:UNIX_System_V:4*:FTX*)1011 *:UNIX_System_V:4*:FTX*)
1163 # From Gerald Hewes <hewes@openmarket.com>.1012 # From Gerald Hewes <hewes@openmarket.com>.
1164 # How about differentiating between stratus architectures? -djm1013 # How about differentiating between stratus architectures? -djm
1165 echo hppa1.1-stratus-sysv41014 echo hppa1.1-stratus-sysv4
1166 exit ;;1015 exit 0 ;;
1167 *:*:*:FTX*)1016 *:*:*:FTX*)
1168 # From seanf@swdc.stratus.com.1017 # From seanf@swdc.stratus.com.
1169 echo i860-stratus-sysv41018 echo i860-stratus-sysv4
1170 exit ;;1019 exit 0 ;;
1171 i*86:VOS:*:*)
1172 # From Paul.Green@stratus.com.
1173 echo ${UNAME_MACHINE}-stratus-vos
1174 exit ;;
1175 *:VOS:*:*)1020 *:VOS:*:*)
1176 # From Paul.Green@stratus.com.1021 # From Paul.Green@stratus.com.
1177 echo hppa1.1-stratus-vos1022 echo hppa1.1-stratus-vos
1178 exit ;;1023 exit 0 ;;
1179 mc68*:A/UX:*:*)1024 mc68*:A/UX:*:*)
1180 echo m68k-apple-aux${UNAME_RELEASE}1025 echo m68k-apple-aux${UNAME_RELEASE}
1181 exit ;;1026 exit 0 ;;
1182 news*:NEWS-OS:6*:*)1027 news*:NEWS-OS:6*:*)
1183 echo mips-sony-newsos61028 echo mips-sony-newsos6
1184 exit ;;1029 exit 0 ;;
1185 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)1030 R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
1186 if [ -d /usr/nec ]; then1031 if [ -d /usr/nec ]; then
1187 echo mips-nec-sysv${UNAME_RELEASE}1032 echo mips-nec-sysv${UNAME_RELEASE}
1188 else1033 else
1189 echo mips-unknown-sysv${UNAME_RELEASE}1034 echo mips-unknown-sysv${UNAME_RELEASE}
1190 fi1035 fi
1191 exit ;;1036 exit 0 ;;
1192 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.1037 BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
1193 echo powerpc-be-beos1038 echo powerpc-be-beos
1194 exit ;;1039 exit 0 ;;
1195 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.1040 BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
1196 echo powerpc-apple-beos1041 echo powerpc-apple-beos
1197 exit ;;1042 exit 0 ;;
1198 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.1043 BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
1199 echo i586-pc-beos1044 echo i586-pc-beos
1200 exit ;;1045 exit 0 ;;
1201 BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1202 echo i586-pc-haiku
1203 exit ;;
1204 SX-4:SUPER-UX:*:*)1046 SX-4:SUPER-UX:*:*)
1205 echo sx4-nec-superux${UNAME_RELEASE}1047 echo sx4-nec-superux${UNAME_RELEASE}
1206 exit ;;1048 exit 0 ;;
1207 SX-5:SUPER-UX:*:*)1049 SX-5:SUPER-UX:*:*)
1208 echo sx5-nec-superux${UNAME_RELEASE}1050 echo sx5-nec-superux${UNAME_RELEASE}
1209 exit ;;1051 exit 0 ;;
1210 SX-6:SUPER-UX:*:*)
1211 echo sx6-nec-superux${UNAME_RELEASE}
1212 exit ;;
1213 SX-7:SUPER-UX:*:*)
1214 echo sx7-nec-superux${UNAME_RELEASE}
1215 exit ;;
1216 SX-8:SUPER-UX:*:*)
1217 echo sx8-nec-superux${UNAME_RELEASE}
1218 exit ;;
1219 SX-8R:SUPER-UX:*:*)
1220 echo sx8r-nec-superux${UNAME_RELEASE}
1221 exit ;;
1222 Power*:Rhapsody:*:*)1052 Power*:Rhapsody:*:*)
1223 echo powerpc-apple-rhapsody${UNAME_RELEASE}1053 echo powerpc-apple-rhapsody${UNAME_RELEASE}
1224 exit ;;1054 exit 0 ;;
1225 *:Rhapsody:*:*)1055 *:Rhapsody:*:*)
1226 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}1056 echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
1227 exit ;;1057 exit 0 ;;
1228 *:Darwin:*:*)1058 *:Darwin:*:*)
1229 UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown1059 echo `uname -p`-apple-darwin${UNAME_RELEASE}
1230 case $UNAME_PROCESSOR in1060 exit 0 ;;
1231 i386)
1232 eval $set_cc_for_build
1233 if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
1234 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
1235 (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
1236 grep IS_64BIT_ARCH >/dev/null
1237 then
1238 UNAME_PROCESSOR="x86_64"
1239 fi
1240 fi ;;
1241 unknown) UNAME_PROCESSOR=powerpc ;;
1242 esac
1243 echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
1244 exit ;;
1245 *:procnto*:*:* | *:QNX:[0123456789]*:*)1061 *:procnto*:*:* | *:QNX:[0123456789]*:*)
1246 UNAME_PROCESSOR=`uname -p`1062 UNAME_PROCESSOR=`uname -p`
1247 if test "$UNAME_PROCESSOR" = "x86"; then1063 if test "$UNAME_PROCESSOR" = "x86"; then
@@ -1249,28 +1065,22 @@
1249 UNAME_MACHINE=pc1065 UNAME_MACHINE=pc
1250 fi1066 fi
1251 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}1067 echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
1252 exit ;;1068 exit 0 ;;
1253 *:QNX:*:4*)1069 *:QNX:*:4*)
1254 echo i386-pc-qnx1070 echo i386-pc-qnx
1255 exit ;;1071 exit 0 ;;
1256 NEO-?:NONSTOP_KERNEL:*:*)1072 NSR-[GKLNPTVW]:NONSTOP_KERNEL:*:*)
1257 echo neo-tandem-nsk${UNAME_RELEASE}
1258 exit ;;
1259 NSE-?:NONSTOP_KERNEL:*:*)
1260 echo nse-tandem-nsk${UNAME_RELEASE}
1261 exit ;;
1262 NSR-?:NONSTOP_KERNEL:*:*)
1263 echo nsr-tandem-nsk${UNAME_RELEASE}1073 echo nsr-tandem-nsk${UNAME_RELEASE}
1264 exit ;;1074 exit 0 ;;
1265 *:NonStop-UX:*:*)1075 *:NonStop-UX:*:*)
1266 echo mips-compaq-nonstopux1076 echo mips-compaq-nonstopux
1267 exit ;;1077 exit 0 ;;
1268 BS2000:POSIX*:*:*)1078 BS2000:POSIX*:*:*)
1269 echo bs2000-siemens-sysv1079 echo bs2000-siemens-sysv
1270 exit ;;1080 exit 0 ;;
1271 DS/*:UNIX_System_V:*:*)1081 DS/*:UNIX_System_V:*:*)
1272 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}1082 echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
1273 exit ;;1083 exit 0 ;;
1274 *:Plan9:*:*)1084 *:Plan9:*:*)
1275 # "uname -m" is not consistent, so use $cputype instead. 3861085 # "uname -m" is not consistent, so use $cputype instead. 386
1276 # is converted to i386 for consistency with other x861086 # is converted to i386 for consistency with other x86
@@ -1281,53 +1091,36 @@
1281 UNAME_MACHINE="$cputype"1091 UNAME_MACHINE="$cputype"
1282 fi1092 fi
1283 echo ${UNAME_MACHINE}-unknown-plan91093 echo ${UNAME_MACHINE}-unknown-plan9
1284 exit ;;1094 exit 0 ;;
1095 i*86:OS/2:*:*)
1096 # If we were able to find `uname', then EMX Unix compatibility
1097 # is probably installed.
1098 echo ${UNAME_MACHINE}-pc-os2-emx
1099 exit 0 ;;
1285 *:TOPS-10:*:*)1100 *:TOPS-10:*:*)
1286 echo pdp10-unknown-tops101101 echo pdp10-unknown-tops10
1287 exit ;;1102 exit 0 ;;
1288 *:TENEX:*:*)1103 *:TENEX:*:*)
1289 echo pdp10-unknown-tenex1104 echo pdp10-unknown-tenex
1290 exit ;;1105 exit 0 ;;
1291 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)1106 KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
1292 echo pdp10-dec-tops201107 echo pdp10-dec-tops20
1293 exit ;;1108 exit 0 ;;
1294 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)1109 XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
1295 echo pdp10-xkl-tops201110 echo pdp10-xkl-tops20
1296 exit ;;1111 exit 0 ;;
1297 *:TOPS-20:*:*)1112 *:TOPS-20:*:*)
1298 echo pdp10-unknown-tops201113 echo pdp10-unknown-tops20
1299 exit ;;1114 exit 0 ;;
1300 *:ITS:*:*)1115 *:ITS:*:*)
1301 echo pdp10-unknown-its1116 echo pdp10-unknown-its
1302 exit ;;1117 exit 0 ;;
1303 SEI:*:*:SEIUX)1118 i*86:XTS-300:*:STOP)
1304 echo mips-sei-seiux${UNAME_RELEASE}1119 echo ${UNAME_MACHINE}-unknown-stop
1305 exit ;;1120 exit 0 ;;
1306 *:DragonFly:*:*)1121 i*86:atheos:*:*)
1307 echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`1122 echo ${UNAME_MACHINE}-unknown-atheos
1308 exit ;;1123 exit 0 ;;
1309 *:*VMS:*:*)
1310 UNAME_MACHINE=`(uname -p) 2>/dev/null`
1311 case "${UNAME_MACHINE}" in
1312 A*) echo alpha-dec-vms ; exit ;;
1313 I*) echo ia64-dec-vms ; exit ;;
1314 V*) echo vax-dec-vms ; exit ;;
1315 esac ;;
1316 *:XENIX:*:SysV)
1317 echo i386-pc-xenix
1318 exit ;;
1319 i*86:skyos:*:*)
1320 echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
1321 exit ;;
1322 i*86:rdos:*:*)
1323 echo ${UNAME_MACHINE}-pc-rdos
1324 exit ;;
1325 i*86:AROS:*:*)
1326 echo ${UNAME_MACHINE}-pc-aros
1327 exit ;;
1328 x86_64:VMkernel:*:*)
1329 echo ${UNAME_MACHINE}-unknown-esx
1330 exit ;;
1331esac1124esac
13321125
1333#echo '(No uname command or uname output not recognized.)' 1>&21126#echo '(No uname command or uname output not recognized.)' 1>&2
@@ -1350,16 +1143,16 @@
1350#include <sys/param.h>1143#include <sys/param.h>
1351 printf ("m68k-sony-newsos%s\n",1144 printf ("m68k-sony-newsos%s\n",
1352#ifdef NEWSOS41145#ifdef NEWSOS4
1353 "4"1146 "4"
1354#else1147#else
1355 ""1148 ""
1356#endif1149#endif
1357 ); exit (0);1150 ); exit (0);
1358#endif1151#endif
1359#endif1152#endif
13601153
1361#if defined (__arm) && defined (__acorn) && defined (__unix)1154#if defined (__arm) && defined (__acorn) && defined (__unix)
1362 printf ("arm-acorn-riscix\n"); exit (0);1155 printf ("arm-acorn-riscix"); exit (0);
1363#endif1156#endif
13641157
1365#if defined (hp300) && !defined (hpux)1158#if defined (hp300) && !defined (hpux)
@@ -1448,12 +1241,12 @@
1448}1241}
1449EOF1242EOF
14501243
1451$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&1244$CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null && ./$dummy && rm -f $dummy.c $dummy && exit 0
1452 { echo "$SYSTEM_NAME"; exit; }1245rm -f $dummy.c $dummy
14531246
1454# Apollos put the system type in the environment.1247# Apollos put the system type in the environment.
14551248
1456test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }1249test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
14571250
1458# Convex versions that predate uname can use getsysinfo(1)1251# Convex versions that predate uname can use getsysinfo(1)
14591252
@@ -1462,22 +1255,22 @@
1462 case `getsysinfo -f cpu_type` in1255 case `getsysinfo -f cpu_type` in
1463 c1*)1256 c1*)
1464 echo c1-convex-bsd1257 echo c1-convex-bsd
1465 exit ;;1258 exit 0 ;;
1466 c2*)1259 c2*)
1467 if getsysinfo -f scalar_acc1260 if getsysinfo -f scalar_acc
1468 then echo c32-convex-bsd1261 then echo c32-convex-bsd
1469 else echo c2-convex-bsd1262 else echo c2-convex-bsd
1470 fi1263 fi
1471 exit ;;1264 exit 0 ;;
1472 c34*)1265 c34*)
1473 echo c34-convex-bsd1266 echo c34-convex-bsd
1474 exit ;;1267 exit 0 ;;
1475 c38*)1268 c38*)
1476 echo c38-convex-bsd1269 echo c38-convex-bsd
1477 exit ;;1270 exit 0 ;;
1478 c4*)1271 c4*)
1479 echo c4-convex-bsd1272 echo c4-convex-bsd
1480 exit ;;1273 exit 0 ;;
1481 esac1274 esac
1482fi1275fi
14831276
@@ -1488,9 +1281,7 @@
1488the operating system you are using. It is advised that you1281the operating system you are using. It is advised that you
1489download the most up to date version of the config scripts from1282download the most up to date version of the config scripts from
14901283
1491 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD1284 ftp://ftp.gnu.org/pub/gnu/config/
1492and
1493 http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
14941285
1495If the version you run ($0) is already up to date, please1286If the version you run ($0) is already up to date, please
1496send the following data and any information you think might be1287send the following data and any information you think might be
14971288
=== modified file 'config.h.in'
--- config.h.in 2006-01-19 15:34:04 +0000
+++ config.h.in 2013-08-14 10:06:03 +0000
@@ -112,6 +112,7 @@
112/* Options */112/* Options */
113#undef HAVE_LIBWRAP113#undef HAVE_LIBWRAP
114#undef LIBWRAP114#undef LIBWRAP
115#undef LABELED_NET
115116
116#undef HAVE_LOADAVG117#undef HAVE_LOADAVG
117118
@@ -124,7 +125,7 @@
124#undef rlim_t125#undef rlim_t
125126
126/* Versioning Information */127/* Versioning Information */
127#define XINETD_VERSION "xinetd Version 2.3.14"128#define XINETD_VERSION "xinetd Version 2.3.15"
128#define MISC_VERSION "MISC Version 1.2.2"129#define MISC_VERSION "MISC Version 1.2.2"
129#define PSET_VERSION "PSET Version 1.2.0"130#define PSET_VERSION "PSET Version 1.2.0"
130#define SIO_VERSION "SIO Version 1.6.2"131#define SIO_VERSION "SIO Version 1.6.2"
131132
=== modified file 'config.sub'
--- config.sub 2012-05-27 19:26:42 +0000
+++ config.sub 2013-08-14 10:06:03 +0000
@@ -1,10 +1,9 @@
1#! /bin/sh1#! /bin/sh
2# Configuration validation subroutine script.2# Configuration validation subroutine script.
3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,3# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
4# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,4# 2000, 2001, 2002 Free Software Foundation, Inc.
5# 2011, 2012 Free Software Foundation, Inc.
65
7timestamp='2012-02-10'6timestamp='2002-03-07'
87
9# This file is (in principle) common to ALL GNU software.8# This file is (in principle) common to ALL GNU software.
10# The presence of a machine in this file suggests that SOME GNU software9# The presence of a machine in this file suggests that SOME GNU software
@@ -21,25 +20,23 @@
21# GNU General Public License for more details.20# GNU General Public License for more details.
22#21#
23# You should have received a copy of the GNU General Public License22# You should have received a copy of the GNU General Public License
24# along with this program; if not, see <http://www.gnu.org/licenses/>.23# along with this program; if not, write to the Free Software
25#24# Foundation, Inc., 59 Temple Place - Suite 330,
25# Boston, MA 02111-1307, USA.
26
26# As a special exception to the GNU General Public License, if you27# As a special exception to the GNU General Public License, if you
27# distribute this file as part of a program that contains a28# distribute this file as part of a program that contains a
28# configuration script generated by Autoconf, you may include it under29# configuration script generated by Autoconf, you may include it under
29# the same distribution terms that you use for the rest of that program.30# the same distribution terms that you use for the rest of that program.
3031
31
32# Please send patches to <config-patches@gnu.org>. Submit a context32# Please send patches to <config-patches@gnu.org>. Submit a context
33# diff and a properly formatted GNU ChangeLog entry.33# diff and a properly formatted ChangeLog entry.
34#34#
35# Configuration subroutine to validate and canonicalize a configuration type.35# Configuration subroutine to validate and canonicalize a configuration type.
36# Supply the specified configuration type as an argument.36# Supply the specified configuration type as an argument.
37# If it is invalid, we print an error message on stderr and exit with code 1.37# If it is invalid, we print an error message on stderr and exit with code 1.
38# Otherwise, we print the canonical config type on stdout and succeed.38# Otherwise, we print the canonical config type on stdout and succeed.
3939
40# You can get the latest version of this script from:
41# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
42
43# This file is supposed to be the same for all GNU packages40# This file is supposed to be the same for all GNU packages
44# and recognize all the CPU types, system types and aliases41# and recognize all the CPU types, system types and aliases
45# that are meaningful with *any* GNU software.42# that are meaningful with *any* GNU software.
@@ -73,8 +70,7 @@
73version="\70version="\
74GNU config.sub ($timestamp)71GNU config.sub ($timestamp)
7572
76Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,73Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
772001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
78Free Software Foundation, Inc.74Free Software Foundation, Inc.
7975
80This is free software; see the source for copying conditions. There is NO76This is free software; see the source for copying conditions. There is NO
@@ -87,11 +83,11 @@
87while test $# -gt 0 ; do83while test $# -gt 0 ; do
88 case $1 in84 case $1 in
89 --time-stamp | --time* | -t )85 --time-stamp | --time* | -t )
90 echo "$timestamp" ; exit ;;86 echo "$timestamp" ; exit 0 ;;
91 --version | -v )87 --version | -v )
92 echo "$version" ; exit ;;88 echo "$version" ; exit 0 ;;
93 --help | --h* | -h )89 --help | --h* | -h )
94 echo "$usage"; exit ;;90 echo "$usage"; exit 0 ;;
95 -- ) # Stop option processing91 -- ) # Stop option processing
96 shift; break ;;92 shift; break ;;
97 - ) # Use stdin as input.93 - ) # Use stdin as input.
@@ -103,7 +99,7 @@
103 *local*)99 *local*)
104 # First pass through any local machine types.100 # First pass through any local machine types.
105 echo $1101 echo $1
106 exit ;;102 exit 0;;
107103
108 * )104 * )
109 break ;;105 break ;;
@@ -122,18 +118,10 @@
122# Here we must recognize all the valid KERNEL-OS combinations.118# Here we must recognize all the valid KERNEL-OS combinations.
123maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`119maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
124case $maybe_os in120case $maybe_os in
125 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \121 nto-qnx* | linux-gnu* | storm-chaos* | os2-emx* | windows32-* | rtmk-nova*)
126 linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
127 knetbsd*-gnu* | netbsd*-gnu* | \
128 kopensolaris*-gnu* | \
129 storm-chaos* | os2-emx* | rtmk-nova*)
130 os=-$maybe_os122 os=-$maybe_os
131 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`123 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
132 ;;124 ;;
133 android-linux)
134 os=-linux-android
135 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
136 ;;
137 *)125 *)
138 basic_machine=`echo $1 | sed 's/-[^-]*$//'`126 basic_machine=`echo $1 | sed 's/-[^-]*$//'`
139 if [ $basic_machine != $1 ]127 if [ $basic_machine != $1 ]
@@ -156,13 +144,10 @@
156 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\144 -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
157 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \145 -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
158 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \146 -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
159 -apple | -axis | -knuth | -cray | -microblaze)147 -apple | -axis)
160 os=148 os=
161 basic_machine=$1149 basic_machine=$1
162 ;;150 ;;
163 -bluegene*)
164 os=-cnk
165 ;;
166 -sim | -cisco | -oki | -wec | -winbond)151 -sim | -cisco | -oki | -wec | -winbond)
167 os=152 os=
168 basic_machine=$1153 basic_machine=$1
@@ -177,17 +162,13 @@
177 os=-chorusos162 os=-chorusos
178 basic_machine=$1163 basic_machine=$1
179 ;;164 ;;
180 -chorusrdb)165 -chorusrdb)
181 os=-chorusrdb166 os=-chorusrdb
182 basic_machine=$1167 basic_machine=$1
183 ;;168 ;;
184 -hiux*)169 -hiux*)
185 os=-hiuxwe2170 os=-hiuxwe2
186 ;;171 ;;
187 -sco6)
188 os=-sco5v6
189 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
190 ;;
191 -sco5)172 -sco5)
192 os=-sco3.2v5173 os=-sco3.2v5
193 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`174 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -204,10 +185,6 @@
204 # Don't forget version if it is 3.2v4 or newer.185 # Don't forget version if it is 3.2v4 or newer.
205 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`186 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
206 ;;187 ;;
207 -sco5v6*)
208 # Don't forget version if it is 3.2v4 or newer.
209 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
210 ;;
211 -sco*)188 -sco*)
212 os=-sco3.2v2189 os=-sco3.2v2
213 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`190 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
@@ -249,103 +226,43 @@
249 # Some are omitted here because they have special meanings below.226 # Some are omitted here because they have special meanings below.
250 1750a | 580 \227 1750a | 580 \
251 | a29k \228 | a29k \
252 | aarch64 | aarch64_be \
253 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \229 | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
254 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \230 | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
255 | am33_2.0 \231 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
256 | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
257 | be32 | be64 \
258 | bfin \
259 | c4x | clipper \232 | c4x | clipper \
260 | d10v | d30v | dlx | dsp16xx \233 | d10v | d30v | dsp16xx \
261 | epiphany \234 | fr30 \
262 | fido | fr30 | frv \
263 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \235 | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
264 | hexagon \
265 | i370 | i860 | i960 | ia64 \236 | i370 | i860 | i960 | ia64 \
266 | ip2k | iq2000 \237 | m32r | m68000 | m68k | m88k | mcore \
267 | le32 | le64 \238 | mips | mips16 | mips64 | mips64el | mips64orion | mips64orionel \
268 | lm32 \239 | mips64vr4100 | mips64vr4100el | mips64vr4300 \
269 | m32c | m32r | m32rle | m68000 | m68k | m88k \240 | mips64vr4300el | mips64vr5000 | mips64vr5000el \
270 | maxq | mb | microblaze | mcore | mep | metag \241 | mipsbe | mipseb | mipsel | mipsle | mipstx39 | mipstx39el \
271 | mips | mipsbe | mipseb | mipsel | mipsle \242 | mipsisa32 | mipsisa64 \
272 | mips16 \
273 | mips64 | mips64el \
274 | mips64octeon | mips64octeonel \
275 | mips64orion | mips64orionel \
276 | mips64r5900 | mips64r5900el \
277 | mips64vr | mips64vrel \
278 | mips64vr4100 | mips64vr4100el \
279 | mips64vr4300 | mips64vr4300el \
280 | mips64vr5000 | mips64vr5000el \
281 | mips64vr5900 | mips64vr5900el \
282 | mipsisa32 | mipsisa32el \
283 | mipsisa32r2 | mipsisa32r2el \
284 | mipsisa64 | mipsisa64el \
285 | mipsisa64r2 | mipsisa64r2el \
286 | mipsisa64sb1 | mipsisa64sb1el \
287 | mipsisa64sr71k | mipsisa64sr71kel \
288 | mipstx39 | mipstx39el \
289 | mn10200 | mn10300 \243 | mn10200 | mn10300 \
290 | moxie \
291 | mt \
292 | msp430 \
293 | nds32 | nds32le | nds32be \
294 | nios | nios2 \
295 | ns16k | ns32k \244 | ns16k | ns32k \
296 | open8 \245 | openrisc | or32 \
297 | or32 \
298 | pdp10 | pdp11 | pj | pjl \246 | pdp10 | pdp11 | pj | pjl \
299 | powerpc | powerpc64 | powerpc64le | powerpcle \247 | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
300 | pyramid \248 | pyramid \
301 | rl78 | rx \
302 | score \
303 | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
304 | sh64 | sh64le \
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: