summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2008-06-13 21:00:37 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2008-06-13 21:00:37 +0000
commit4d24003fedd96a6d1e7801d9dd99e48ade5ba410 (patch)
tree826d02765d6b23f62efc3d5cfd3785629f0a55f7 /app
parent1d806dfb5f48abe149074e7e3df7b6a7b76f68ba (diff)
update to xfs 1.0.8.
(The multiple defined symbol problem is not fixed yet)
Diffstat (limited to 'app')
-rw-r--r--app/xfs/ChangeLog510
-rw-r--r--app/xfs/Makefile.am29
-rw-r--r--app/xfs/Makefile.in71
-rw-r--r--app/xfs/aclocal.m431
-rw-r--r--app/xfs/configure251
-rw-r--r--app/xfs/configure.ac39
-rw-r--r--app/xfs/difs/fontinfo.c18
-rw-r--r--app/xfs/difs/main.c6
-rw-r--r--app/xfs/include/os.h2
-rw-r--r--app/xfs/include/servermd.h11
-rw-r--r--app/xfs/m4/ac_define_dir.m449
-rw-r--r--app/xfs/os/config.c44
-rw-r--r--app/xfs/os/utils.c2
-rw-r--r--app/xfs/os/xfstrans.c6
-rw-r--r--app/xfs/xfs.man469
15 files changed, 1261 insertions, 277 deletions
diff --git a/app/xfs/ChangeLog b/app/xfs/ChangeLog
index c726ca2f7..896916df9 100644
--- a/app/xfs/ChangeLog
+++ b/app/xfs/ChangeLog
@@ -1,52 +1,498 @@
-2006-04-26 Adam Jackson <ajax@freedesktop.org>
+commit 3e6b854aa4ce0636fd63f63afd04d68b28c0fa68
+Author: Brice Goglin <bgoglin@debian.org>
+Date: Fri May 23 22:29:50 2008 +0200
- * configure.ac:
- Bump to 1.0.2
+ xfs 1.0.8
-2006-03-13 Alan Coopersmith <alan.coopersmith@sun.com>
+commit 8144d75d4e71d8ae0493043f49fe9925f8099244
+Author: Brice Goglin <bgoglin@debian.org>
+Date: Fri May 23 18:53:55 2008 +0200
- * difs/cache.c (rebuild_cache):
- Check for alloc error was reversed, causing memory leak, NULL
- pointer dereference (if fsalloc actually failed), and failure
- to rebuild cache. (Coverity ids #560 & #127).
+ Fix nasty typo in SetConfigValues
+
+ Nasty typo introduced in 4a163a076e90808fa47ade1504fd0f2893bdc306,
+ causes xfs to crash on startup.
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=482551
-2005-12-20 Kevin E. Martin <kem-at-freedesktop-dot-org>
+commit 9666b767a1f565bae06e84aacb53a1d9b7747f90
+Author: Adam Jackson <ajax@redhat.com>
+Date: Wed May 21 14:18:01 2008 -0400
- * configure.ac:
- Update package version for X11R7 release.
+ xfs 1.0.7
-2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
+commit 4a163a076e90808fa47ade1504fd0f2893bdc306
+Author: Petter Reinholdtsen <pere@hungry.com>
+Date: Fri May 16 20:27:48 2008 +0200
- * configure.ac:
- Update package version number for final X11R7 release candidate.
+ Return an error to the log instead of segfaulting
+
+ Return an error to the log instead of segfaulting
+ if catalogue line is omitted from config file.
+
+ http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=148650
-2005-12-06 Kevin E. Martin <kem-at-freedesktop-dot-org>
+commit 6188cb8538b713296266238b7b780718fcec881b
+Author: Stephan A. Maciej <stephanm@datenfriedhof.net>
+Date: Mon Mar 17 18:00:49 2008 -0700
- * Makefile.am:
- Change *man_SOURCES ==> *man_PRE to fix autotools warnings.
+ Allow font server to start with pid longer than 5 digits
+
+ Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
-2005-12-03 Kevin E. Martin <kem-at-freedesktop-dot-org>
+commit 24d4172a71850299c797f887d3027c32068763d0
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Jan 14 19:32:09 2008 -0800
- * configure.ac:
- Update package version number for X11R7 RC3 release.
+ Fix --with-default-config to work with more than two config files
-2005-11-19 Kevin E. Martin <kem-at-freedesktop-dot-org>
+commit 8337bcb5650581874510514cce7d9df89db54d5c
+Author: Adam Jackson <ajax@redhat.com>
+Date: Thu Mar 6 17:06:25 2008 -0500
- * configure.ac:
- Update dependencies to work with separate build roots.
+ xfs 1.0.6
-2005-11-09 Kevin E. Martin <kem-at-freedesktop-dot-org>
+commit f253f56e9ff33e7424317be7fa54a60eec4053a8
+Author: Julien Cristau <jcristau@debian.org>
+Date: Tue Feb 5 21:57:21 2008 +0100
- * configure.ac:
- Update package version number for X11R7 RC2 release.
+ Install config file in $(sysconfdir) by default instead of $(libdir)
-2005-11-01 Kevin E. Martin <kem-at-freedesktop-dot-org>
+commit 71c2acc3d0fecc5c6c3d63cfae8f38ee2ce72d9d
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Wed Jan 9 16:08:54 2008 -0800
- * configure.ac:
- Update pkgcheck depedencies to work with separate build roots.
+ List multiple config files in man page if specified in --with-default-config-file
-2005-10-18 Kevin E. Martin <kem-at-freedesktop-dot-org>
+commit 5a5d003bfc400471693f88a16d2ed6ed98ca8111
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Jan 7 18:04:36 2008 -0800
- * configure.ac:
- Update package version number for RC1 release.
+ Add xfsinfo & fslsfonts to See Also section of man page
+commit 9d19ae3b4d6fcaa01bcb88b9fde644aec3f191b1
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Jan 7 15:08:33 2008 -0800
+
+ Remove another extraneous + from man page
+
+commit c398fae4cf2119f467970a0af4b408948aff12ef
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri Jan 4 15:56:31 2008 -0800
+
+ Add hooks for checking sources with tools like sparse & lint
+
+commit 04e94c3d22e6115f40bcced43e78a336613789a9
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Fri Jan 4 15:55:53 2008 -0800
+
+ Remove duplicated section & extra + in xfs.man
+
+commit bc3d7ac63b801b22214ce5d04fa0a585a6223fee
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Thu Jan 3 17:12:58 2008 -0800
+
+ Rename autoconf-generated header to xfs-config.h to avoid clash with os/config.h
+
+commit c0b33d044edc89ec882ac425c91a79cd738167a4
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Thu Jan 3 16:47:59 2008 -0800
+
+ Add --with-default-config-file configure option
+
+ Allow specifying multiple files, using the first one found at runtime.
+
+commit c7b49319ac3ba99002074021f0cd493aa122439a
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Thu Jan 3 13:58:18 2008 -0800
+
+ xfs.man: Replace Speedo with TrueType, fix typos
+
+commit cfbf2d673d0b764f6f5aa3d802c4796c94b407d0
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Thu Jan 3 13:10:01 2008 -0800
+
+ Use PACKAGE_VERSION_* to set default VENDOR_RELEASE version string
+
+commit 33f185cc94d11279aa3c08ebebf8461225dad4be
+Author: James Cloos <cloos@jhcloos.com>
+Date: Thu Dec 6 16:37:15 2007 -0500
+
+ Replace static ChangeLog with dist-hook to generate from git log
+
+commit ec8bfac7c5ab048d86bd60ec97526300ef41d2a9
+Author: David Nusinow <dnusinow@debian.org>
+Date: Wed Oct 3 21:37:46 2007 -0400
+
+ Perform massive manpage cleanup and reformatting.
+
+ Add "FUTURE DIRECTIONS" section.
+
+ This patch by Branden Robinson, forward ported by David Nusinow and
+ probably a few others.
+
+commit 0bd59b5938059c7ff5501b928ebe80ecea27f008
+Author: Matthieu Herrb <matthieu@bluenote.herrb.com>
+Date: Mon Oct 1 21:55:52 2007 +0200
+
+ Bump to 1.0.5
+
+commit ec3ca8fd4c599f41e6f977ce912805ac8ac74f32
+Author: Matthieu Herrb <matthieu@bluenote.herrb.com>
+Date: Mon Oct 1 21:53:41 2007 +0200
+
+ Fix for heap overwrite in swap_char2b() CVE-2007-4568.
+
+commit 380fb68316f13012ff7cb2ac4addc2626fa2dad0
+Author: Matthieu Herrb <matthieu@bluenote.herrb.com>
+Date: Mon Oct 1 21:51:40 2007 +0200
+
+ fix for integer overflows in build_range(). CVE-4568.
+
+commit 63596c80ec1c406a35780f45ea43d8004b020869
+Author: Ademar de Souza Reis Jr <ademar@mandriva.com.br>
+Date: Wed Jun 20 13:31:40 2007 -0300
+
+ Document catalogue:<dir> feature
+
+commit 2037244c4a758d4010da55128fc2b7902f2bc8ad
+Author: Daniel Stone <daniel@fooishbar.org>
+Date: Thu Nov 30 19:55:47 2006 +0200
+
+ bump to 1.0.4
+
+commit 311483ff1bea8ae31671b5bd6033a27dd0f315a4
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Nov 20 10:58:35 2006 -0800
+
+ Add *~ to .gitignore to skip emacs/patch droppings
+
+commit 2e81fe0c9eeac502e19d7f9696e29d4847f8a8e0
+Author: Alan Coopersmith <alan.coopersmith@sun.com>
+Date: Mon Nov 20 10:58:10 2006 -0800
+
+ renamed: .cvsignore -> .gitignore
+
+commit 19bc6ee23c7137c8d182738e850621586ba43659
+Author: J.P. Larocque <piranha-fdo-bz@thoughtcrime.us>
+Date: Mon Nov 20 10:57:28 2006 -0800
+
+ Bug 7317: xfs doesn't build on some GLIBC based systems: _XOPEN_SOURCE undefined
+
+ Bug 7317: <https://bugs.freedesktop.org/show_bug.cgi?id=7317>
+
+commit 20014d1c8fa416306f5be60d4cd225cc6132d532
+Author: Adam Jackson <ajax@benzedrine.nwnk.net>
+Date: Fri Oct 13 17:51:32 2006 -0400
+
+ Bump to 1.0.3
+
+commit d68ce54e725aa332c0c74e1aa2e7e59b079fb5fe
+Author: Kristian Høgsberg <krh@redhat.com>
+Date: Mon Sep 25 18:01:48 2006 -0400
+
+ Substitute config dir into man page.
+
+commit ced4cd44bd177b9579c457a2f108a09e8bbb7eb9
+Author: Adam Jackson <ajax@nwnk.net>
+Date: Wed Apr 26 23:40:40 2006 +0000
+
+ Bump to 1.0.2
+
+commit 099e52769a0601bca9d731209465d6205cd63fc9
+Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
+Date: Tue Mar 14 03:41:28 2006 +0000
+
+ Check for alloc error was reversed, causing memory leak, NULL pointer
+ dereference (if fsalloc actually failed), and failure to rebuild cache.
+ (Coverity ids #560 & #127).
+
+commit 03a3384fe8985419d8ec9507458a8808dafa2758
+Author: Kevin E Martin <kem@kem.org>
+Date: Wed Dec 21 02:29:50 2005 +0000
+
+ Update package version for X11R7 release.
+
+commit c34fccfa706811aa2d177afd07cc96e7094b10ef
+Author: Adam Jackson <ajax@nwnk.net>
+Date: Mon Dec 19 16:22:44 2005 +0000
+
+ Stub COPYING files
+
+commit 7cd4bd5a4044fbbcd7b05b5d4c11542353d85e52
+Author: Kevin E Martin <kem@kem.org>
+Date: Thu Dec 15 00:24:07 2005 +0000
+
+ Update package version number for final X11R7 release candidate.
+
+commit e9ed66a84780a87d1f102b3960007aba9d7d2ed7
+Author: Kevin E Martin <kem@kem.org>
+Date: Tue Dec 6 22:48:22 2005 +0000
+
+ Change *man_SOURCES ==> *man_PRE to fix autotools warnings.
+
+commit 7d6e0e69cde9b41061eb591d418d3ceab4e5f9a3
+Author: Kevin E Martin <kem@kem.org>
+Date: Sat Dec 3 05:49:23 2005 +0000
+
+ Update package version number for X11R7 RC3 release.
+
+commit 932e1834195eb85b291b29bac4719cd02830dcc4
+Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
+Date: Mon Nov 28 22:01:42 2005 +0000
+
+ Change *mandir targets to use new *_MAN_DIR variables set by xorg-macros.m4
+ update to fix bug #5167 (Linux prefers *.1x man pages in man1 subdir)
+
+commit 02640671a2ef2c5240d87f96f1b3518ac0026a6d
+Author: Eric Anholt <anholt@freebsd.org>
+Date: Mon Nov 21 10:35:00 2005 +0000
+
+ Another pass at .cvsignores for apps.
+
+commit c23ac3c68be607d8b050b4a50bfe441737c9fed8
+Author: Eric Anholt <anholt@freebsd.org>
+Date: Sun Nov 20 22:08:52 2005 +0000
+
+ Add/improve .cvsignore files for apps.
+
+commit e3edf1412eacc3efb3bc6d949406474e1f4aacff
+Author: Kevin E Martin <kem@kem.org>
+Date: Sat Nov 19 07:15:36 2005 +0000
+
+ Update pkgconfig files to separate library build-time dependencies from
+ application build-time dependencies, and update package deps to work
+ with separate build roots.
+
+commit dc896313209b1fc91cfd8f9ed15d7a26d4cdb450
+Author: Kevin E Martin <kem@kem.org>
+Date: Wed Nov 9 21:09:21 2005 +0000
+
+ Update package version number for X11R7 RC2 release.
+
+commit af24389ccccdf82a8224299f808acf07443ce98b
+Author: Kean Johnson <kean@armory.com>
+Date: Tue Nov 8 06:33:33 2005 +0000
+
+ See ChangeLog entry 2005-11-07 for details.
+
+commit 75cca7507a37ea2e65a7ff541560047b54da369e
+Author: Kevin E Martin <kem@kem.org>
+Date: Tue Nov 1 15:05:18 2005 +0000
+
+ Update pkgcheck depedencies to work with separate build roots.
+
+commit 3bca148d9c5d9af5af31c6d4ce6a731fc46ff3b3
+Author: Kevin E Martin <kem@kem.org>
+Date: Wed Oct 19 02:47:54 2005 +0000
+
+ Update package version number for RC1 release.
+
+commit be42526a6087c63f618bfeb13c7f3b46068528fe
+Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
+Date: Mon Oct 17 23:56:22 2005 +0000
+
+ Use @APP_MAN_SUFFIX@ instead of $(APP_MAN_SUFFIX) in macro substitutions to
+ work better with BSD make
+
+commit bc6cbdd5925ffc52abbf0da1834405b8fbe49ee1
+Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
+Date: Mon Oct 17 22:28:18 2005 +0000
+
+ Add 's|XCOMM|\#|g' to sed rules for man page processing
+
+commit 91cc5c0c1d36059e6e0792a80b4443b8bb6c0c14
+Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
+Date: Fri Oct 14 00:25:45 2005 +0000
+
+ Use sed to fill in variables in man page
+
+commit 68de46d260d44841aab5ecce9d31cf24ccd533f8
+Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
+Date: Mon Aug 1 20:25:29 2005 +0000
+
+ Install man pages to section 1 instead of section m (Patch from Donnie
+ Berkholz)
+
+commit 216412edcbf15a9ae918c2066f93680355fc9b0b
+Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
+Date: Sat Jul 30 19:32:32 2005 +0000
+
+ Add -D flags to clear more compiler warnings (Stefan Dirsch)
+
+commit 6890ec2cd680eed48c64f9e91fa4b0c8508f4b96
+Author: Kevin E Martin <kem@kem.org>
+Date: Fri Jul 29 21:22:34 2005 +0000
+
+ Various changes preparing packages for RC0:
+ - Verify and update package version numbers as needed
+ - Implement versioning scheme
+ - Change bug address to point to bugzilla bug entry form
+ - Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
+ reenable it)
+ - Fix makedepend to use pkgconfig and pass distcheck
+ - Update build script to build macros first
+ - Update modular Xorg version
+
+commit 9a118fcc0ce0e202d31fcf579daf0dc03fc2f6bb
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Date: Thu Jul 28 22:43:18 2005 +0000
+
+ Thu Jul 28 18:29:06 2005 Søren Sandmann <sandmann@redhat.com>
+ Fix double free when there no valid paths.
+
+commit 9c9f67e12450035b7997c2c3bb3700ea51d8b3d2
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Date: Thu Jul 28 22:28:21 2005 +0000
+
+ Add flags to make xfs actually load fonts
+
+commit fc670eef6a29564aeddcb2e8f6b6a3fdb791b7f5
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Date: Thu Jul 28 20:46:54 2005 +0000
+
+ Create and install a config file Fix xfs DEFAULT_CONFIG_FILE
+
+commit b7901095f14ec2ea00f1cbeb57952957e9f0d5aa
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Date: Wed Jul 27 22:48:39 2005 +0000
+
+ Add -D_XOPEN_SOURCE on Linux
+
+commit cedf6178e2c2becfd40a9ed309714d3957ee7d1f
+Author: Adam Jackson <ajax@nwnk.net>
+Date: Wed Jul 20 19:31:56 2005 +0000
+
+ Use a unique token for PKG_CHECK_MODULES. Otherwise, if you use a global
+ configure cache, you cache it, and the cached value is probably wrong.
+
+commit f0c7ea00ce16c6f4d7d23fe3f87af335b1bdc591
+Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
+Date: Sat Jul 16 23:29:38 2005 +0000
+
+ x11perf/Makefile.am: xinit/Makefile.am: xvidtune/Makefile.am:
+ - Replace $< with portable macro xinit/Makefile.am: xinit/configure.ac:
+ xvidtune/Makefile.am: xvidtune/configure.ac:
+ - Use more portable cpp invocations for pre-processing files
+ xfs/configure.ac:
+ - Add XTRANS_CONNECTION_FLAGS so xtrans transport type defines are set
+ correctly
+
+commit 2dd92fea669cdd34b15cf75455ca7766b5cf9c93
+Author: Alan Coopersmith <Alan.Coopersmith@sun.com>
+Date: Sat Jul 16 20:52:25 2005 +0000
+
+ Mark variables modified in signal handlers as volatile (part of Sun bug id
+ 4496504)
+
+commit f638b9c31aab9b90b8b9b4dbea79f8a588037498
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Date: Thu Jul 14 22:40:15 2005 +0000
+
+ Add _BSD_SOURCE to lots of applications - patch from Stefan Dirsch
+
+commit 61c45e7ae8cdcead33392c0a2affc63a00b284c3
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Date: Tue Jul 12 18:49:12 2005 +0000
+
+ Add include files to sources, so it will distcheck
+
+commit 2ac8a668c645746430031f7f2776e98dc0cf0b98
+Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
+Date: Tue Jul 12 18:45:48 2005 +0000
+
+ - lib/lbxutil/lbxutil.pc.in: link to lbxutil, not Xfixes
+ - symlink.sh: add xedit.h, add xedit/lis/mp directory, add xfs
+ - xc/programs/xedit: include "lisp/../xedit.h" instead of xedit/xedit.h
+ - Change include of "foo.h" to <X11/.../foo.h> in various places in
+ xc/programs/lbxproxy and xc/programs/xfs
+ - add build system for xfs
+ - add forgotten lbxproxytrans.c file
+
+commit 465a53c5deee64fcdc768b5c8a9123ee56a39dd5
+Author: Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>
+Date: Thu Jun 9 15:52:02 2005 +0000
+
+ Replace <X11/Xtrans.h> with <X11/Xtrans/Xtrans.h>
+ Copy Xtrans.h to exports/include/X11/Xtrans only
+
+commit 2203407e26a173410b8a96368266f0e860381987
+Author: Adam Jackson <ajax@nwnk.net>
+Date: Fri Apr 22 20:49:50 2005 +0000
+
+ Bug #3069: Drop the BuildLowMem hack, it doesn't compile and isn't useful.
+
+commit 9971dd3529c07022231fd722cb593f6609dd9d70
+Author: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Mon Jul 26 22:44:25 2004 +0000
+
+ Fix opening of log file with '-user nobody'. Problem reported by Oleg
+ Safiullin and Mike Pechkin.
+
+commit 956b25ecaa203291b5abdfc43451ae34da4ebdc7
+Author: Egbert Eich <eich@suse.de>
+Date: Fri Apr 23 19:54:48 2004 +0000
+
+ Merging XORG-CURRENT into trunk
+
+commit 54409026c1afcd67c2d548a9efc606e29d47715f
+Author: Egbert Eich <eich@suse.de>
+Date: Sun Mar 14 08:35:23 2004 +0000
+
+ Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004
+
+commit 4b40ae3860584b4c4078941f45c6dfe223d2154c
+Author: Egbert Eich <eich@suse.de>
+Date: Wed Mar 3 12:13:08 2004 +0000
+
+ Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004
+
+commit 73d09b90af9e6b5aa389939f913f9f9a826e9269
+Author: Egbert Eich <eich@suse.de>
+Date: Thu Feb 26 13:36:24 2004 +0000
+
+ readding XFree86's cvs IDs
+
+commit 9cd7676755000e0bf926cab806d8a5b10ce8efab
+Author: Egbert Eich <eich@suse.de>
+Date: Thu Feb 26 09:24:07 2004 +0000
+
+ Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004
+
+commit 32d7dc13777fee72c185b64bafc64f6525c474c5
+Author: Kaleb Keithley <kaleb@freedesktop.org>
+Date: Mon Feb 23 20:35:41 2004 +0000
+
+ Import most of XFree86 4.4RC3. This import excludes files which have the
+ new license. If we want to, later we can import 4.4RC3 again and pick
+ up the files that have the new license, but for now the vendor branch
+ is "pure."
+
+commit 86cae258ef5b7de939d2b4af5669992815145f61
+Author: Egbert Eich <eich@suse.de>
+Date: Thu Jan 29 08:09:12 2004 +0000
+
+ Importing vendor version xf86-012804-2330 on Thu Jan 29 00:06:33 PST 2004
+
+commit 8e1ac4fe2b5d9e31a37469fb462eb728457ccfb5
+Author: Kaleb Keithley <kaleb@freedesktop.org>
+Date: Tue Nov 25 19:29:13 2003 +0000
+
+ XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks
+
+commit 491f741a1b34f20831a30fa017e422154127d54f
+Author: Kaleb Keithley <kaleb@freedesktop.org>
+Date: Fri Nov 14 16:49:22 2003 +0000
+
+ XFree86 4.3.0.1
+
+commit 58396f7f075f465fe9fb7580af16c96ad0a88738
+Author: Kaleb Keithley <kaleb@freedesktop.org>
+Date: Fri Nov 14 16:49:22 2003 +0000
+
+ Initial revision
+
+commit db757f1d2a5a951ec26aa4ed64134d8113089fd0
+Author: Kaleb Keithley <kaleb@freedesktop.org>
+Date: Fri Nov 14 15:54:53 2003 +0000
+
+ R6.6 is the Xorg base-line
diff --git a/app/xfs/Makefile.am b/app/xfs/Makefile.am
index dd2aa457f..acaec230d 100644
--- a/app/xfs/Makefile.am
+++ b/app/xfs/Makefile.am
@@ -19,15 +19,16 @@
# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
-configdir = $(datadir)/X11/fs
+ACLOCAL_AMFLAGS = -I m4
+
+configdir = $(sysconfdir)/X11/fs
bin_PROGRAMS = xfs
FONT_FLAGS = -DFONT_PCF -DFONT_FS -DFONT_SPEEDO -DFONTCACHE
-AM_CFLAGS = $(XFS_CFLAGS) -I$(top_srcdir)/include -DXFSPIDDIR=\"/var/run\" \
- -DDEFAULT_CONFIG_FILE=\"$(configdir)/config\" $(FONT_FLAGS) \
- -D_BSD_SOURCE -DFONT_t -DTRANS_SERVER -DTRANS_REOPEN
+AM_CPPFLAGS = $(XFS_CFLAGS) -I$(top_srcdir)/include -DXFSPIDDIR=\"/var/run\" \
+ $(FONT_FLAGS) -D_BSD_SOURCE -DFONT_t -DTRANS_SERVER -DTRANS_REOPEN
LDADD = $(XFS_LIBS)
@@ -133,9 +134,29 @@ MAN_SUBSTS = \
-e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
-e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
-e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' \
+ -e 's|__configfiledesc__|$(CONFIG_FILE_DESC)|g' \
+ -e 's|__configfilepath__|$(CONFIG_FILE_PATH)|g' \
-e 's|XCOMM|\#|g'
SUFFIXES = .$(APP_MAN_SUFFIX) .man
.man.$(APP_MAN_SUFFIX):
sed $(MAN_SUBSTS) < $< > $@
+
+EXTRA_DIST += ChangeLog
+MAINTAINERCLEANFILES = ChangeLog
+
+.PHONY: ChangeLog
+
+ChangeLog:
+ (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+
+dist-hook: ChangeLog
+
+if LINT
+ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS)
+
+lint:
+ $(LINT) $(ALL_LINT_FLAGS) $(xfs_SOURCES)
+endif LINT
diff --git a/app/xfs/Makefile.in b/app/xfs/Makefile.in
index 903de2bdf..accd3c8d6 100644
--- a/app/xfs/Makefile.in
+++ b/app/xfs/Makefile.in
@@ -60,18 +60,19 @@ build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = xfs$(EXEEXT)
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(srcdir)/Makefile.in $(srcdir)/xfs-config.h.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
config.guess config.sub depcomp install-sh missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__aclocal_m4_deps = $(top_srcdir)/m4/ac_define_dir.m4 \
+ $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(SHELL) $(install_sh) -d
-CONFIG_HEADER = config.h
+CONFIG_HEADER = xfs-config.h
CONFIG_CLEAN_FILES =
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" \
"$(DESTDIR)$(configdir)"
@@ -136,9 +137,12 @@ AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
+CONFIG_FILE_DESC = @CONFIG_FILE_DESC@
+CONFIG_FILE_PATH = @CONFIG_FILE_PATH@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
+DEFAULT_CONFIG_FILE = @DEFAULT_CONFIG_FILE@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DRIVER_MAN_DIR = @DRIVER_MAN_DIR@
@@ -159,6 +163,10 @@ LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIB_MAN_DIR = @LIB_MAN_DIR@
LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@
+LINT = @LINT@
+LINT_FALSE = @LINT_FALSE@
+LINT_FLAGS = @LINT_FLAGS@
+LINT_TRUE = @LINT_TRUE@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
@@ -219,11 +227,11 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-configdir = $(datadir)/X11/fs
+ACLOCAL_AMFLAGS = -I m4
+configdir = $(sysconfdir)/X11/fs
FONT_FLAGS = -DFONT_PCF -DFONT_FS -DFONT_SPEEDO -DFONTCACHE
-AM_CFLAGS = $(XFS_CFLAGS) -I$(top_srcdir)/include -DXFSPIDDIR=\"/var/run\" \
- -DDEFAULT_CONFIG_FILE=\"$(configdir)/config\" $(FONT_FLAGS) \
- -D_BSD_SOURCE -DFONT_t -DTRANS_SERVER -DTRANS_REOPEN
+AM_CPPFLAGS = $(XFS_CFLAGS) -I$(top_srcdir)/include -DXFSPIDDIR=\"/var/run\" \
+ $(FONT_FLAGS) -D_BSD_SOURCE -DFONT_t -DTRANS_SERVER -DTRANS_REOPEN
LDADD = $(XFS_LIBS)
xfs_SOURCES = \
@@ -292,7 +300,7 @@ FSERRORS = /var/log/xfs.log
FONTDIR = $(libdir)/X11/fonts
FONTPATH = $(FONTDIR)/misc/,$(FONTDIR)/TTF/,$(FONTDIR)/Type1/,$(FONTDIR)/CID/,$(FONTDIR)/100dpi/,$(FONTDIR)/75dpi/
config_DATA = config
-EXTRA_DIST = xfs.def config.cpp $(appman_PRE)
+EXTRA_DIST = xfs.def config.cpp $(appman_PRE) ChangeLog
CLEANFILES = config $(appman_DATA)
appmandir = $(APP_MAN_DIR)
appman_DATA = $(appman_PRE:man=@APP_MAN_SUFFIX@)
@@ -314,10 +322,16 @@ MAN_SUBSTS = \
-e 's|__adminmansuffix__|$(ADMIN_MAN_SUFFIX)|g' \
-e 's|__miscmansuffix__|$(MISC_MAN_SUFFIX)|g' \
-e 's|__filemansuffix__|$(FILE_MAN_SUFFIX)|g' \
+ -e 's|__configfiledesc__|$(CONFIG_FILE_DESC)|g' \
+ -e 's|__configfilepath__|$(CONFIG_FILE_PATH)|g' \
-e 's|XCOMM|\#|g'
SUFFIXES = .$(APP_MAN_SUFFIX) .man
-all: config.h
+MAINTAINERCLEANFILES = ChangeLog
+@LINT_TRUE@ALL_LINT_FLAGS = $(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+@LINT_TRUE@ $(AM_CPPFLAGS) $(CPPFLAGS)
+
+all: xfs-config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
@@ -356,22 +370,22 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-config.h: stamp-h1
+xfs-config.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+stamp-h1: $(srcdir)/xfs-config.h.in $(top_builddir)/config.status
@rm -f stamp-h1
- cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(SHELL) ./config.status xfs-config.h
+$(srcdir)/xfs-config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
rm -f stamp-h1
touch $@
distclean-hdr:
- -rm -f config.h stamp-h1
+ -rm -f xfs-config.h stamp-h1
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(mkdir_p) "$(DESTDIR)$(bindir)"
@@ -870,11 +884,11 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
mkid -fID $$unique
tags: TAGS
-TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+TAGS: $(HEADERS) $(SOURCES) xfs-config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) xfs-config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -886,11 +900,11 @@ TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$$tags $$unique; \
fi
ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+CTAGS: $(HEADERS) $(SOURCES) xfs-config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
- list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+ list='$(SOURCES) $(HEADERS) xfs-config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
@@ -911,6 +925,7 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
+ $(mkdir_p) $(distdir)/m4
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
@@ -937,6 +952,9 @@ distdir: $(DISTFILES)
|| exit 1; \
fi; \
done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
@@ -1036,7 +1054,7 @@ distcleancheck: distclean
exit 1; } >&2
check-am: all-am
check: check-am
-all-am: Makefile $(PROGRAMS) $(DATA) config.h
+all-am: Makefile $(PROGRAMS) $(DATA) xfs-config.h
installdirs:
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appmandir)" "$(DESTDIR)$(configdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
@@ -1066,6 +1084,7 @@ distclean-generic:
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
@@ -1121,8 +1140,8 @@ uninstall-am: uninstall-appmanDATA uninstall-binPROGRAMS \
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
clean-binPROGRAMS clean-generic ctags dist dist-all dist-bzip2 \
- dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \
- distclean-compile distclean-generic distclean-hdr \
+ dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
+ distclean distclean-compile distclean-generic distclean-hdr \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-appmanDATA install-binPROGRAMS install-configDATA \
@@ -1140,6 +1159,16 @@ config: config.cpp
.man.$(APP_MAN_SUFFIX):
sed $(MAN_SUBSTS) < $< > $@
+
+.PHONY: ChangeLog
+
+ChangeLog:
+ (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+
+dist-hook: ChangeLog
+
+@LINT_TRUE@lint:
+@LINT_TRUE@ $(LINT) $(ALL_LINT_FLAGS) $(xfs_SOURCES)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/app/xfs/aclocal.m4 b/app/xfs/aclocal.m4
index 1875bdee8..9384d2c2b 100644
--- a/app/xfs/aclocal.m4
+++ b/app/xfs/aclocal.m4
@@ -995,6 +995,7 @@ AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR
+m4_include([m4/ac_define_dir.m4])
dnl
dnl Copyright 2005-2006 Sun Microsystems, Inc. All rights reserved.
dnl
@@ -1042,7 +1043,7 @@ AC_DEFUN([XORG_MACROS_VERSION],[
XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'`
XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
AC_MSG_CHECKING([if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}])
- [XORG_MACROS_version=1.1.5
+ [XORG_MACROS_version=1.1.6
XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'`
XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`]
if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then
@@ -1191,7 +1192,11 @@ AC_DEFUN([XORG_CHECK_LINUXDOC],[
XORG_SGML_PATH=$prefix/share/sgml
HAVE_DEFS_ENT=
-AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
+if test x"$cross_compiling" = x"yes" ; then
+ HAVE_DEFS_ENT=no
+else
+ AC_CHECK_FILE([$XORG_SGML_PATH/X11/defs.ent], [HAVE_DEFS_ENT=yes])
+fi
AC_PATH_PROG(LINUXDOC, linuxdoc)
AC_PATH_PROG(PS2PDF, ps2pdf)
@@ -1463,14 +1468,14 @@ AC_DEFUN([XORG_RELEASE_VERSION],[
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
[`echo $PACKAGE_VERSION | cut -d . -f 1`],
[Major version of this package])
- PVM=`echo $PACKAGE_VERSION | cut -d . -f 2`
+ PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
if test "x$PVM" = "x"; then
PVM="0"
fi
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],
[$PVM],
[Minor version of this package])
- PVP=`echo $PACKAGE_VERSION | cut -d . -f 3`
+ PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
if test "x$PVP" = "x"; then
PVP="0"
fi
@@ -1533,6 +1538,12 @@ AC_DEFUN([XTRANS_TCP_FLAGS],[
#include <sys/socket.h>
#include <netinet/in.h>
])
+
+ # POSIX.1g changed the type of pointer passed to getsockname/getpeername/etc.
+ AC_CHECK_TYPES([socklen_t], [], [], [
+AC_INCLUDES_DEFAULT
+#include <sys/socket.h>])
+
]) # XTRANS_TCP_FLAGS
# XTRANS_CONNECTION_FLAGS()
@@ -1542,17 +1553,21 @@ AC_DEFUN([XTRANS_TCP_FLAGS],[
AC_DEFUN([XTRANS_CONNECTION_FLAGS],[
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AC_TYPE_SIGNAL])
+ [case $host_os in
+ mingw*) unixdef="no" ;;
+ *) unixdef="yes" ;;
+ esac]
AC_ARG_ENABLE(unix-transport,
AC_HELP_STRING([--enable-unix-transport],[Enable UNIX domain socket transport]),
- [UNIXCONN=$enableval], [UNIXCONN=yes])
- AC_ARG_ENABLE(tcp-transport,
- AC_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]),
- [TCPCONN=$enableval], [TCPCONN=yes])
+ [UNIXCONN=$enableval], [UNIXCONN=$unixdef])
AC_MSG_CHECKING([if Xtrans should support UNIX socket connections])
if test "$UNIXCONN" = "yes"; then
AC_DEFINE(UNIXCONN,1,[Support UNIX socket connections])
fi
AC_MSG_RESULT($UNIXCONN)
+ AC_ARG_ENABLE(tcp-transport,
+ AC_HELP_STRING([--enable-tcp-transport],[Enable TCP socket transport]),
+ [TCPCONN=$enableval], [TCPCONN=yes])
AC_MSG_CHECKING([if Xtrans should support TCP socket connections])
AC_MSG_RESULT($TCPCONN)
if test "$TCPCONN" = "yes"; then
diff --git a/app/xfs/configure b/app/xfs/configure
index c66ce6821..cda478654 100644
--- a/app/xfs/configure
+++ b/app/xfs/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59 for xfs 1.0.5.
+# Generated by GNU Autoconf 2.59 for xfs 1.0.8.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>.
#
@@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='xfs'
PACKAGE_TARNAME='xfs'
-PACKAGE_VERSION='1.0.5'
-PACKAGE_STRING='xfs 1.0.5'
+PACKAGE_VERSION='1.0.8'
+PACKAGE_STRING='xfs 1.0.8'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
# Factoring default headers for most tests.
@@ -310,7 +310,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP PKG_CONFIG ac_pt_PKG_CONFIG XFS_CFLAGS XFS_LIBS APP_MAN_SUFFIX LIB_MAN_SUFFIX FILE_MAN_SUFFIX MISC_MAN_SUFFIX DRIVER_MAN_SUFFIX ADMIN_MAN_SUFFIX APP_MAN_DIR LIB_MAN_DIR FILE_MAN_DIR MISC_MAN_DIR DRIVER_MAN_DIR ADMIN_MAN_DIR LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os CPP EGREP DEFAULT_CONFIG_FILE CONFIG_FILE_DESC CONFIG_FILE_PATH PKG_CONFIG ac_pt_PKG_CONFIG XFS_CFLAGS XFS_LIBS LINT LINT_FLAGS LINT_TRUE LINT_FALSE APP_MAN_SUFFIX LIB_MAN_SUFFIX FILE_MAN_SUFFIX MISC_MAN_SUFFIX DRIVER_MAN_SUFFIX ADMIN_MAN_SUFFIX APP_MAN_DIR LIB_MAN_DIR FILE_MAN_DIR MISC_MAN_DIR DRIVER_MAN_DIR ADMIN_MAN_DIR LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -791,7 +791,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xfs 1.0.5 to adapt to many kinds of systems.
+\`configure' configures xfs 1.0.8 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -857,7 +857,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xfs 1.0.5:";;
+ short | recursive ) echo "Configuration of xfs 1.0.8:";;
esac
cat <<\_ACEOF
@@ -877,6 +877,12 @@ Optional Features:
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-default-config-file=PATH
+ comma-separated list of paths to look for config
+ file when not specified (default:
+ ${sysconfdir}/X11/fs/config)
+ --with-lint Use a lint-style source code checker (default:
+ disabled)
--with-release-version=STRING
Use release version string in package name
@@ -991,7 +997,7 @@ fi
test -n "$ac_init_help" && exit 0
if $ac_init_version; then
cat <<\_ACEOF
-xfs configure 1.0.5
+xfs configure 1.0.8
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
@@ -1005,7 +1011,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xfs $as_me 1.0.5, which was
+It was created by xfs $as_me 1.0.8, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@
@@ -1603,7 +1609,7 @@ fi
# Define the identity of the package.
PACKAGE='xfs'
- VERSION='1.0.5'
+ VERSION='1.0.8'
cat >>confdefs.h <<_ACEOF
@@ -1758,7 +1764,32 @@ fi
- ac_config_headers="$ac_config_headers config.h"
+ ac_config_headers="$ac_config_headers xfs-config.h"
+
+
+# Require xorg-macros version 1.1.0 or newer for XORG_WITH_LINT macro
+
+
+ XORG_MACROS_needed_version=1.1
+ XORG_MACROS_needed_major=`echo $XORG_MACROS_needed_version | sed 's/\..*$//'`
+ XORG_MACROS_needed_minor=`echo $XORG_MACROS_needed_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`
+ echo "$as_me:$LINENO: checking if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}" >&5
+echo $ECHO_N "checking if xorg-macros used to generate configure is at least ${XORG_MACROS_needed_major}.${XORG_MACROS_needed_minor}... $ECHO_C" >&6
+ XORG_MACROS_version=1.1.6
+ XORG_MACROS_major=`echo $XORG_MACROS_version | sed 's/\..*$//'`
+ XORG_MACROS_minor=`echo $XORG_MACROS_version | sed -e 's/^[0-9]*\.//' -e 's/\..*$//'`
+ if test $XORG_MACROS_major -ne $XORG_MACROS_needed_major ; then
+ { { echo "$as_me:$LINENO: error: configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x" >&5
+echo "$as_me: error: configure built with incompatible version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.x" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ if test $XORG_MACROS_minor -lt $XORG_MACROS_needed_minor ; then
+ { { echo "$as_me:$LINENO: error: configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer" >&5
+echo "$as_me: error: configure built with too old of a version of xorg-macros.m4 - requires version ${XORG_MACROS_major}.${XORG_MACROS_minor}.0 or newer" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+ echo "$as_me:$LINENO: result: yes, $XORG_MACROS_version" >&5
+echo "${ECHO_T}yes, $XORG_MACROS_version" >&6
ac_ext=c
@@ -3648,6 +3679,48 @@ fi
done
+
+# Check whether --with-default-config-file or --without-default-config-file was given.
+if test "${with_default_config_file+set}" = set; then
+ withval="$with_default_config_file"
+ CONFIG_FILE="$withval"
+else
+ CONFIG_FILE="${sysconfdir}/X11/fs/config"
+fi;
+
+DEFAULT_CONFIG_FILE=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\\\\",\\\\\\\\\\\"/'g`
+
+ prefix_NONE=
+ exec_prefix_NONE=
+ test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
+ test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
+ eval ac_define_dir="\"$DEFAULT_CONFIG_FILE\""
+ eval ac_define_dir="\"$ac_define_dir\""
+ DEFAULT_CONFIG_FILE="$ac_define_dir"
+
+
+cat >>confdefs.h <<_ACEOF
+#define DEFAULT_CONFIG_FILE "$ac_define_dir"
+_ACEOF
+
+ test "$prefix_NONE" && prefix=NONE
+ test "$exec_prefix_NONE" && exec_prefix=NONE
+
+
+# generate text for the man page
+case $CONFIG_FILE in
+ *,*)
+ CONFIG_FILE_DESC="the first file found from the list:"
+ CONFIG_FILE_PATH=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\fR, \\\\\\\\fI/g'`
+ ;;
+ *)
+ CONFIG_FILE_DESC="the default file,"
+ CONFIG_FILE_PATH="${CONFIG_FILE}"
+ ;;
+esac
+
+
+
# Checks for pkg-config packages
@@ -3942,19 +4015,16 @@ _ACEOF
+ case $host_os in
+ mingw*) unixdef="no" ;;
+ *) unixdef="yes" ;;
+ esac
# Check whether --enable-unix-transport or --disable-unix-transport was given.
if test "${enable_unix_transport+set}" = set; then
enableval="$enable_unix_transport"
UNIXCONN=$enableval
else
- UNIXCONN=yes
-fi;
- # Check whether --enable-tcp-transport or --disable-tcp-transport was given.
-if test "${enable_tcp_transport+set}" = set; then
- enableval="$enable_tcp_transport"
- TCPCONN=$enableval
-else
- TCPCONN=yes
+ UNIXCONN=$unixdef
fi;
echo "$as_me:$LINENO: checking if Xtrans should support UNIX socket connections" >&5
echo $ECHO_N "checking if Xtrans should support UNIX socket connections... $ECHO_C" >&6
@@ -3967,6 +4037,13 @@ _ACEOF
fi
echo "$as_me:$LINENO: result: $UNIXCONN" >&5
echo "${ECHO_T}$UNIXCONN" >&6
+ # Check whether --enable-tcp-transport or --disable-tcp-transport was given.
+if test "${enable_tcp_transport+set}" = set; then
+ enableval="$enable_tcp_transport"
+ TCPCONN=$enableval
+else
+ TCPCONN=yes
+fi;
echo "$as_me:$LINENO: checking if Xtrans should support TCP socket connections" >&5
echo $ECHO_N "checking if Xtrans should support TCP socket connections... $ECHO_C" >&6
echo "$as_me:$LINENO: result: $TCPCONN" >&5
@@ -4468,6 +4545,77 @@ _ACEOF
fi
+ # POSIX.1g changed the type of pointer passed to getsockname/getpeername/etc.
+ echo "$as_me:$LINENO: checking for socklen_t" >&5
+echo $ECHO_N "checking for socklen_t... $ECHO_C" >&6
+if test "${ac_cv_type_socklen_t+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+$ac_includes_default
+#include <sys/socket.h>
+
+int
+main ()
+{
+if ((socklen_t *) 0)
+ return 0;
+if (sizeof (socklen_t))
+ return 0;
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_type_socklen_t=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ac_cv_type_socklen_t=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5
+echo "${ECHO_T}$ac_cv_type_socklen_t" >&6
+if test $ac_cv_type_socklen_t = yes; then
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_SOCKLEN_T 1
+_ACEOF
+
+
+fi
+
+
+
fi
case $host_os in
solaris*|sco*|sysv4*) localdef="yes" ;;
@@ -4496,6 +4644,49 @@ _ACEOF
+# Allow checking code with lint, sparse, etc.
+
+# Check whether --with-lint or --without-lint was given.
+if test "${with_lint+set}" = set; then
+ withval="$with_lint"
+ use_lint=$withval
+else
+ use_lint=no
+fi;
+if test "x$use_lint" = "xyes" ; then
+ LINT="lint"
+else
+ LINT="$use_lint"
+fi
+if test "x$LINT_FLAGS" = "x" -a "x$LINT" != "xno" ; then
+ case $LINT in
+ lint|*/lint)
+ case $host_os in
+ solaris*)
+ LINT_FLAGS="-u -b -h -erroff=E_INDISTING_FROM_TRUNC2"
+ ;;
+ esac
+ ;;
+ esac
+fi
+
+
+
+
+
+if test x$LINT != xno; then
+ LINT_TRUE=
+ LINT_FALSE='#'
+else
+ LINT_TRUE='#'
+ LINT_FALSE=
+fi
+
+
+
+
+
+
if test x$APP_MAN_SUFFIX = x ; then
APP_MAN_SUFFIX=1
@@ -4585,7 +4776,7 @@ cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION_MAJOR `echo $PACKAGE_VERSION | cut -d . -f 1`
_ACEOF
- PVM=`echo $PACKAGE_VERSION | cut -d . -f 2`
+ PVM=`echo $PACKAGE_VERSION | cut -d . -f 2 | cut -d - -f 1`
if test "x$PVM" = "x"; then
PVM="0"
fi
@@ -4594,7 +4785,7 @@ cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION_MINOR $PVM
_ACEOF
- PVP=`echo $PACKAGE_VERSION | cut -d . -f 3`
+ PVP=`echo $PACKAGE_VERSION | cut -d . -f 3 | cut -d - -f 1`
if test "x$PVP" = "x"; then
PVP="0"
fi
@@ -4718,6 +4909,13 @@ echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${LINT_TRUE}" && test -z "${LINT_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"LINT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"LINT\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
@@ -4989,7 +5187,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
-This file was extended by xfs $as_me 1.0.5, which was
+This file was extended by xfs $as_me 1.0.8, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -5052,7 +5250,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-xfs config.status 1.0.5
+xfs config.status 1.0.8
configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
@@ -5164,7 +5362,7 @@ do
# Handling of arguments.
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "xfs-config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS xfs-config.h" ;;
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
@@ -5301,10 +5499,17 @@ s,@host_vendor@,$host_vendor,;t t
s,@host_os@,$host_os,;t t
s,@CPP@,$CPP,;t t
s,@EGREP@,$EGREP,;t t
+s,@DEFAULT_CONFIG_FILE@,$DEFAULT_CONFIG_FILE,;t t
+s,@CONFIG_FILE_DESC@,$CONFIG_FILE_DESC,;t t
+s,@CONFIG_FILE_PATH@,$CONFIG_FILE_PATH,;t t
s,@PKG_CONFIG@,$PKG_CONFIG,;t t
s,@ac_pt_PKG_CONFIG@,$ac_pt_PKG_CONFIG,;t t
s,@XFS_CFLAGS@,$XFS_CFLAGS,;t t
s,@XFS_LIBS@,$XFS_LIBS,;t t
+s,@LINT@,$LINT,;t t
+s,@LINT_FLAGS@,$LINT_FLAGS,;t t
+s,@LINT_TRUE@,$LINT_TRUE,;t t
+s,@LINT_FALSE@,$LINT_FALSE,;t t
s,@APP_MAN_SUFFIX@,$APP_MAN_SUFFIX,;t t
s,@LIB_MAN_SUFFIX@,$LIB_MAN_SUFFIX,;t t
s,@FILE_MAN_SUFFIX@,$FILE_MAN_SUFFIX,;t t
diff --git a/app/xfs/configure.ac b/app/xfs/configure.ac
index 6daaab4e4..54f81de55 100644
--- a/app/xfs/configure.ac
+++ b/app/xfs/configure.ac
@@ -1,4 +1,3 @@
-
dnl Copyright 2005 Red Hat, Inc.
dnl
dnl Permission to use, copy, modify, distribute, and sell this software and its
@@ -22,18 +21,22 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.57])
-AC_INIT(xfs,[1.0.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xfs)
+AC_INIT(xfs,[1.0.8], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],xfs)
AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE
-AM_CONFIG_HEADER(config.h)
+AM_CONFIG_HEADER(xfs-config.h)
+
+# Require xorg-macros version 1.1.0 or newer for XORG_WITH_LINT macro
+m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.1 or later before running autoconf/autogen])])
+XORG_MACROS_VERSION(1.1)
AC_PROG_CC
AC_PROG_INSTALL
AC_CANONICAL_HOST
case $host_os in
- linux*)
+ linux*|gnu*|*-gnu)
OS_CFLAGS="-D_XOPEN_SOURCE"
;;
*)
@@ -41,6 +44,31 @@ case $host_os in
;;
esac
+AC_CHECK_HEADERS([stdint.h])
+
+AC_ARG_WITH(default-config-file,
+ AS_HELP_STRING([--with-default-config-file=PATH],
+ [comma-separated list of paths to look for config file when not specified (default: ${sysconfdir}/X11/fs/config)]),
+ [CONFIG_FILE="$withval"], [CONFIG_FILE="${sysconfdir}/X11/fs/config"])
+
+DEFAULT_CONFIG_FILE=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\\\\",\\\\\\\\\\\"/'g`
+AC_DEFINE_DIR([DEFAULT_CONFIG_FILE], DEFAULT_CONFIG_FILE,
+ [comma-separated list of strings for config file paths when not specified])
+
+# generate text for the man page
+case $CONFIG_FILE in
+ *,*)
+ CONFIG_FILE_DESC="the first file found from the list:"
+ CONFIG_FILE_PATH=`echo ${CONFIG_FILE} | sed 's/,/\\\\\\\\fR, \\\\\\\\fI/g'`
+ ;;
+ *)
+ CONFIG_FILE_DESC="the default file,"
+ CONFIG_FILE_PATH="${CONFIG_FILE}"
+ ;;
+esac
+AC_SUBST([CONFIG_FILE_DESC])
+AC_SUBST([CONFIG_FILE_PATH])
+
# Checks for pkg-config packages
PKG_CHECK_MODULES(XFS, libfs xfont xtrans)
XFS_CFLAGS="$XFS_CFLAGS $OS_CFLAGS"
@@ -50,6 +78,9 @@ AC_SUBST(XFS_LIBS)
# Transport selection macro from xtrans.m4
XTRANS_CONNECTION_FLAGS
+dnl Allow checking code with lint, sparse, etc.
+XORG_WITH_LINT
+
XORG_MANPAGE_SECTIONS
XORG_RELEASE_VERSION
diff --git a/app/xfs/difs/fontinfo.c b/app/xfs/difs/fontinfo.c
index 23893e0af..a5615d439 100644
--- a/app/xfs/difs/fontinfo.c
+++ b/app/xfs/difs/fontinfo.c
@@ -48,6 +48,8 @@ in this Software without prior written authorization from The Open Group.
*/
/* $XFree86: xc/programs/xfs/difs/fontinfo.c,v 1.10 2001/12/14 20:01:34 dawes Exp $ */
+#include <xfs-config.h>
+
#include <X11/fonts/FS.h>
#include <X11/fonts/FSproto.h>
#include <stdio.h>
@@ -62,6 +64,18 @@ in this Software without prior written authorization from The Open Group.
#include <swapreq.h>
#include <swaprep.h>
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+#include <limits.h>
+#ifndef SIZE_MAX
+# ifdef ULONG_MAX
+# define SIZE_MAX ULONG_MAX
+# else
+# define SIZE_MAX UINT_MAX
+# endif
+#endif
+
void
CopyCharInfo(
CharInfoPtr ci,
@@ -181,6 +195,8 @@ build_range(
return new;
}
+ if (src_num >= SIZE_MAX / sizeof(fsRange) * 2 - 1)
+ return NULL;
np = new = (fsRange *) fsalloc(sizeof(fsRange) * (src_num + 1) / 2);
if (!np)
return np;
@@ -210,6 +226,8 @@ build_range(
unsigned char *pp = src;
src_num = *num;
+ if (src_num >= SIZE_MAX / sizeof(fsRange))
+ return NULL;
np = new = (fsRange *) fsalloc(SIZEOF(fsRange) * src_num);
if (!np)
return np;
diff --git a/app/xfs/difs/main.c b/app/xfs/difs/main.c
index 4e6272c2b..4b3a5ccc5 100644
--- a/app/xfs/difs/main.c
+++ b/app/xfs/difs/main.c
@@ -69,10 +69,6 @@ int ConnInfoLen;
Cache serverCache;
-#ifndef DEFAULT_CONFIG_FILE
-#define DEFAULT_CONFIG_FILE "/usr/lib/X11/fs/config"
-#endif
-
#define SERVER_CACHE_SIZE 10000 /* for random server cacheables */
static Bool create_connection_block(void);
@@ -91,7 +87,7 @@ main(int argc, char *argv[])
argcGlobal = argc;
argvGlobal = argv;
- configfilename = DEFAULT_CONFIG_FILE;
+ configfilename = NULL;
/* init stuff */
ProcessCmdLine(argc, argv);
diff --git a/app/xfs/include/os.h b/app/xfs/include/os.h
index 24485522d..e98778a5d 100644
--- a/app/xfs/include/os.h
+++ b/app/xfs/include/os.h
@@ -91,7 +91,7 @@ extern FontCacheSettings cacheSettings;
struct _osComm; /* FIXME: osCommPtr */
/* os/config.c */
-extern int ReadConfigFile(char *filename);
+extern int ReadConfigFile(const char *filename);
/* os/connection.c */
extern void AttendClient(ClientPtr client);
diff --git a/app/xfs/include/servermd.h b/app/xfs/include/servermd.h
index 6e5cc8abc..ccd6629be 100644
--- a/app/xfs/include/servermd.h
+++ b/app/xfs/include/servermd.h
@@ -49,8 +49,17 @@ in this Software without prior written authorization from The Open Group.
#ifndef _SERVERMD_H_
#define _SERVERMD_H_
+#include <xfs-config.h>
+
#ifndef VENDOR_RELEASE
-#define VENDOR_RELEASE 6700
+# if defined PACKAGE_VERSION_MAJOR
+# define VENDOR_RELEASE \
+ (((PACKAGE_VERSION_MAJOR) * 10000000) + \
+ ((PACKAGE_VERSION_MINOR) * 100000) + \
+ ((PACKAGE_VERSION_PATCHLEVEL) * 1000))
+# else
+# define VENDOR_RELEASE 7000
+# endif
#endif
#ifndef VENDOR_STRING
diff --git a/app/xfs/m4/ac_define_dir.m4 b/app/xfs/m4/ac_define_dir.m4
new file mode 100644
index 000000000..db42d3eb0
--- /dev/null
+++ b/app/xfs/m4/ac_define_dir.m4
@@ -0,0 +1,49 @@
+# ===========================================================================
+# http://autoconf-archive.cryp.to/ac_define_dir.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+# AC_DEFINE_DIR(VARNAME, DIR [, DESCRIPTION])
+#
+# DESCRIPTION
+#
+# This macro sets VARNAME to the expansion of the DIR variable, taking
+# care of fixing up ${prefix} and such.
+#
+# VARNAME is then offered as both an output variable and a C preprocessor
+# symbol.
+#
+# Example:
+#
+# AC_DEFINE_DIR([DATADIR], [datadir], [Where data are placed to.])
+#
+# LAST MODIFICATION
+#
+# 2008-04-12
+#
+# COPYLEFT
+#
+# Copyright (c) 2008 Stepan Kasal <kasal@ucw.cz>
+# Copyright (c) 2008 Andreas Schwab <schwab@suse.de>
+# Copyright (c) 2008 Guido U. Draheim <guidod@gmx.de>
+# Copyright (c) 2008 Alexandre Oliva
+#
+# Copying and distribution of this file, with or without modification, are
+# permitted in any medium without royalty provided the copyright notice
+# and this notice are preserved.
+
+AC_DEFUN([AC_DEFINE_DIR], [
+ prefix_NONE=
+ exec_prefix_NONE=
+ test "x$prefix" = xNONE && prefix_NONE=yes && prefix=$ac_default_prefix
+ test "x$exec_prefix" = xNONE && exec_prefix_NONE=yes && exec_prefix=$prefix
+dnl In Autoconf 2.60, ${datadir} refers to ${datarootdir}, which in turn
+dnl refers to ${prefix}. Thus we have to use `eval' twice.
+ eval ac_define_dir="\"[$]$2\""
+ eval ac_define_dir="\"$ac_define_dir\""
+ AC_SUBST($1, "$ac_define_dir")
+ AC_DEFINE_UNQUOTED($1, "$ac_define_dir", [$3])
+ test "$prefix_NONE" && prefix=NONE
+ test "$exec_prefix_NONE" && exec_prefix=NONE
+])
diff --git a/app/xfs/os/config.c b/app/xfs/os/config.c
index e5dbc4801..1abf2afff 100644
--- a/app/xfs/os/config.c
+++ b/app/xfs/os/config.c
@@ -49,6 +49,8 @@ in this Software without prior written authorization from The Open Group.
*/
/* $XFree86: xc/programs/xfs/os/config.c,v 3.15 2002/05/31 18:46:12 dawes Exp $ */
+#include <xfs-config.h>
+
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
@@ -66,6 +68,15 @@ in this Software without prior written authorization from The Open Group.
#include <X11/fonts/fontutil.h>
#include "difs.h"
+static const char * const default_config_files[] = {
+#ifdef DEFAULT_CONFIG_FILE
+ DEFAULT_CONFIG_FILE,
+#else
+ "/usr/lib/X11/fs/config",
+#endif
+ NULL
+};
+
extern int portFromCmdline;
static char *font_catalogue = NULL;
@@ -285,6 +296,10 @@ SetConfigValues(void)
int err,
num;
+ if (font_catalogue == NULL) {
+ FatalError("font catalogue is missing/empty\n");
+ }
+
err = SetFontCatalogue(font_catalogue, &num);
if (err != FSSuccess) {
FatalError("element #%d (starting at 0) of font path is bad or has a bad font:\n\"%s\"\n",
@@ -315,12 +330,14 @@ char *__XFSRedirRoot(char *fname)
}
#endif
+/* If argument is NULL, uses first file found from default_config_files */
int
-ReadConfigFile(char *filename)
+ReadConfigFile(const char *filename)
{
FILE *fp;
int ret;
int len;
+ int i;
char *data;
data = (char *) fsalloc(CONFIG_MAX_FILESIZE);
@@ -328,12 +345,31 @@ ReadConfigFile(char *filename)
ErrorF(ConfigErrors[CONFIG_ERR_MEMORY], filename);
return FSBadAlloc;
}
+ if (filename != NULL) {
#ifdef __UNIXOS2__
- filename = __XFSRedirRoot(filename);
+ filename = __XFSRedirRoot(filename);
#endif
- if ((fp = fopen(filename, "r")) == NULL) {
+ fp = fopen(filename, "r");
+ if (fp == NULL) {
+ ErrorF(ConfigErrors[CONFIG_ERR_OPEN], filename);
+ }
+ } else {
+ for (i = 0; default_config_files[i] != NULL; i++) {
+ filename = default_config_files[i];
+#ifdef __UNIXOS2__
+ filename = __XFSRedirRoot(filename);
+#endif
+ if ((fp = fopen(filename, "r")) != NULL)
+ break;
+ }
+ if (fp == NULL) {
+ for (i = 0; default_config_files[i] != NULL; i++) {
+ ErrorF(ConfigErrors[CONFIG_ERR_OPEN], default_config_files[i]);
+ }
+ }
+ }
+ if (fp == NULL) {
fsfree(data);
- ErrorF(ConfigErrors[CONFIG_ERR_OPEN], filename);
return FSBadName;
}
ret = fread(data, sizeof(char), CONFIG_MAX_FILESIZE, fp);
diff --git a/app/xfs/os/utils.c b/app/xfs/os/utils.c
index fcc1c2a06..5ee8b6e94 100644
--- a/app/xfs/os/utils.c
+++ b/app/xfs/os/utils.c
@@ -562,7 +562,7 @@ StorePid (void)
strerror (errno));
return -1;
}
- if (fprintf (pidFilePtr, "%5ld\n", (long) getpid ()) != 6)
+ if (fprintf (pidFilePtr, "%11ld\n", (long) getpid ()) != 12)
{
ErrorF ("cannot write to process-id file %s: %s\n", pidFile,
strerror (errno));
diff --git a/app/xfs/os/xfstrans.c b/app/xfs/os/xfstrans.c
index 0ee846473..f74a23a6b 100644
--- a/app/xfs/os/xfstrans.c
+++ b/app/xfs/os/xfstrans.c
@@ -1,5 +1,5 @@
/*
- * $Id: xfstrans.c,v 1.1 2006/11/26 14:43:47 matthieu Exp $
+ * $Id: xfstrans.c,v 1.2 2008/06/13 21:00:36 matthieu Exp $
*
* Copyright © 2003 Keith Packard
*
@@ -22,9 +22,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
+#include <xfs-config.h>
#define FONT_t
#define TRANS_REOPEN
diff --git a/app/xfs/xfs.man b/app/xfs/xfs.man
index 1a5cd11bc..4f71ce2e4 100644
--- a/app/xfs/xfs.man
+++ b/app/xfs/xfs.man
@@ -37,206 +37,337 @@
.\" suitability of this software for any purpose. It is provided "as is"
.\" without express or implied warranty.
.\" $Xorg: xfs.man,v 1.4 2001/02/09 02:05:42 xorgcvs Exp $
-.TH XFS 1 __xorgversion__
+.TH xfs __appmansuffix__ __xorgversion__
.SH NAME
xfs \- X font server
.SH SYNOPSIS
-.B "xfs"
-[\-config \fIconfiguration_file\fP]
-[\-daemon]
-[\-droppriv]
-[\-ls \fIlisten_socket\fP]
-[\-nodaemon]
-[\-port \fItcp_port\fP]
-[\-user \fIusername\fP]
+.B xfs
+[
+.BI "\-config " configuration_file
+]
+[
+.B \-daemon
+]
+[
+.B \-droppriv
+]
+[
+.BI "\-ls " listen_socket
+]
+[
+.B \-nodaemon
+]
+[
+.BI "\-port " tcp_port
+]
+[
+.BI "\-user " username
+]
.SH DESCRIPTION
+.B xfs
+is the X Window System font server.
+It supplies fonts to X Window System display servers.
+The server is usually run by a system administrator, and started via
+.BR init (__adminmansuffix__).
+Users may also wish to start private font servers for specific sets of
+fonts.
.PP
-.I Xfs
-is the X Window System font server. It supplies fonts to X Window
-System display servers.
-.SH "STARTING THE SERVER"
-The server is usually run by a system administrator, and started via
-boot files like \fI/etc/rc.local\fR. Users may also wish to start
-private font servers for specific sets of fonts.
-.SH "OPTIONS"
-.TP 8
-.B \-config configuration_file
-Specifies the configuration file the font server will use. If this
-parameter is not specified, the default file, \fI__configdir__/config\fR
-will be used.
-.TP 8
-.B \-ls listen_socket
-Specifies a file descriptor which is already set up to be used as the
-listen socket. This option is only intended to be used by the font server
-itself when automatically spawning another copy of itself to handle
-additional connections.
-.TP 8
-.B \-port tcp_port
-Specifies the TCP port number on which the server will listen for connections.
-The default port number is 7100.
-.TP 8
+To connect to a font server, see the documentation for your X server; it
+likely supports the syntax documented in the \(lqFONT SERVER NAMES\(rq
+section of
+.BR X (__miscmansuffix__).
+.SH OPTIONS
+.TP
+.BI "\-config " configuration_file
+specifies the configuration file
+.B xfs
+will use.
+If this parameter is not specified, xfs will read its configuration from
+__configfiledesc__ \fI__configfilepath__\fR.
+.TP
.B \-daemon
-Instructs xfs to fork and go into the background automatically at
-startup If this option is not specified, xfs will run as a regular
-process (unless xfs was built to daemonize by default).
-.TP 8
+instructs
+.B xfs
+to fork and go into the background automatically at startup.
+If this option is not specified,
+.B xfs
+will run as a regular process (unless it was built to daemonize by
+default).
+When running as a daemon,
+.B xfs
+will attempt to create a file in which it stores its process ID, and will
+delete that file upon exit;
+.TP
.B \-droppriv
-If specified, xfs will attempt to run as user and group \fIxfs\fR (unless
-the
+instructs
+.B xfs
+to attempt to run as user and group
+.I xfs
+(unless the
.B \-user
-option is used). This
-has been implemented for security reasons, as xfs may have undiscovered
-buffer overflows or other paths for possible exploit, both local and
-remote. With this option, you may also wish to specify
-"no-listen = tcp"
-in the config file, which ensures that xfs will not to use a TCP port at all.
-.TP 8
+option is used).
+This has been implemented for security reasons, as
+.B xfs
+may have undiscovered buffer overflows or other paths for possible exploit,
+both local and remote.
+When using this option, you may also wish to specify \(oqno\-listen =
+tcp\(cq in the config file, which ensures that
+.B xfs
+will not to use a TCP port at all.
+By default,
+.B xfs
+runs with the user and group IDs of the user who invoked it.
+.TP
+.BI "\-ls " listen_socket
+specifies a file descriptor which is already set up to be used as the
+listen socket.
+This option is only intended to be used by the font server itself when
+automatically spawning another copy of itself to handle additional
+connections.
+.TP
.B \-nodaemon
-When xfs is built to daemonize (run in the background) by default,
-this prevents that and starts xfs up as a regular process.
-.TP 8
-.B \-user username
-This is equivalent to
+instructs
+.B xfs
+not to daemonize (fork and detach from its controlling terminal).
+This option only has an effect if
+.B xfs
+is built to daemonize by default, which is not the stock configuration.
+.TP
+.BI "\-port " tcp_port
+specifies the TCP port number on which the server will listen for
+connections.
+The default port number is 7100.
+This option is ignored if
+.B xfs
+is configured to not listen to TCP transports at all (see \(lqConfiguration
+File Format\(rq below).
+.TP
+.BI "\-user " username
+instructs
+.B xfs
+to run as the user
+.IR username.
+See
.B \-droppriv
-except that xfs will run as user \fIusername\fR.
-.SH "SIGNALS"
-.TP 8
-.I SIGTERM
-This causes the font server to exit cleanly.
-.TP 8
-.I SIGUSR1
-This signal is used to cause the server to re-read its configuration file.
-.TP 8
-.I SIGUSR2
-This signal is used to cause the server to flush any cached data it
-may have.
-.TP 8
-.I SIGHUP
-This signal is used to cause the server to reset, closing all active
-connections and re-reading the configuration file.
-.SH "CONFIGURATION"
+for why this may be desired.
+By default,
+.B xfs
+runs with the user and group IDs of the user who invoked it.
+.SH "INPUT FILES"
+.B xfs
+reads and serves any font file format recognized by the X server itself.
+It locates font files through the specification of a
+.IR catalogue ,
+which is declared in
+.BR xfs 's
+configuration file.
+.SS "Configuration File Format"
+.B xfs
+reads its configuration from a text file (see the
+.B \-config
+option in the \(lqOPTIONS\(rq section above).
The configuration language is a list of keyword and value pairs.
-Each keyword is followed by an '=' and then the desired value.
+Each keyword is followed by an equals sign (\(oq=\(cq) and then the desired
+value.
.PP
Recognized keywords include:
-.sp
-.\" .IP "cache-size (cardinal)"
-.\" Size in bytes of the font server cache.
-.IP "catalogue (list of string)"
-Ordered list of font path element names.
-Use of the keyword "catalogue" is very misleading at present,
-the current implementation only supports a single catalogue ("all"),
-containing all of the specified fonts.
-.IP "alternate-servers (list of string)"
-List of alternate servers for this font server.
-.IP "client-limit (cardinal)"
-Number of clients this font server will support
-before refusing service. This is useful for tuning
-the load on each individual font server.
-.IP "clone-self (boolean)"
-Whether this font server should attempt to clone itself
-when it reachs the client-limit.
-.IP "default-point-size (cardinal)"
-The default pointsize (in decipoints) for fonts that
-don't specify. The default is 120.
-.IP "default-resolutions (list of resolutions)"
-Resolutions the server supports by default.
-This information may be used as a hint for
-pre-rendering, and substituted for scaled fonts
-which do not specify a resolution.
-A resolution is a comma-separated pair of x and y resolutions in
-pixels per inch.
+.TP
+.BR alternate\-servers " (list of \fIstring\fPs)"
+lists alternate servers for this font server.
+See the \(lqFONT SERVER NAMES\(rq section of
+.BR X (__miscmansuffix__)
+for the syntax of the string.
+.\" .TP
+.\" .BR cache\-size " (\fIcardinal\fP)"
+.\" determines the size (in bytes) of the font server cache.
+.TP
+.BR catalogue " (list of \fIstring\fPs)"
+declares as ordered list of font path element names from which fonts will
+be served.
+The current implementation only supports a single catalogue ("all")
+containing all of the specified fonts. A special directory with
+symlinks to font paths can be specified using a catalogue:<dir>
+entry. See the CATALOGUE DIR section below for details.
+.TP
+.BR client\-limit " (\fIcardinal\fP)"
+determines the number of clients this font server will support before
+refusing service.
+This is useful for tuning the load on each individual font server.
+.TP
+.BR clone\-self " (\fIboolean\fP)"
+indicates whether this font server should attempt to clone itself when the
+number of connected clients reaches the
+.BR client\-limit .
+.TP
+.BR default\-point\-size " (\fIcardinal\fP)"
+The default pointsize (in decipoints) for font requests that don't specify
+a point size.
+The default is 120.
+.TP
+.BR default\-resolutions " (list of \fIresolution\fPs)"
+indicates the resolutions the server supports by default.
+This information may be used as a hint for pre-rendering, and substituted
+into requests for scaled fonts which do not specify a resolution.
+A
+.I resolution
+is a comma-separated pair of horizontal and vertical resolutions in pixels
+per inch.
Multiple resolutions are separated by commas.
-.IP "error-file (string)"
-Filename of the error file. All warnings and errors
-will be logged here.
-.IP "no-listen (trans-type)"
-Disable a transport type. For example, TCP/IP connections can
-be disabled with no-listen tcp
-.IP "port (cardinal)"
-TCP port on which the server will listen for connections.
-.IP "use-syslog (boolean)"
-Whether syslog(3) (on supported systems) is to be used
-for errors.
-.IP "deferglyphs (string)"
-Set the mode for delayed fetching and caching of glyphs. Value is
-"none", meaning deferred glyphs is disabled, "all", meaning it is
-enabled for all fonts, and "16", meaning it is enabled only for
-16-bits fonts.
-.\" .IP "trusted-clients (list of string)"
-.\" Those clients the fontserver will talk to. Others
-.\" will be refused for the initial connection. An empty
-.\" list means the server will talk to any client.
-.SH "EXAMPLE"
+.TP
+.BR deferglyphs " (\fIstring\fP)"
+sets the mode for delayed fetching and caching of glyphs.
+.I string
+should be one of \(oqnone\(cq, meaning glyphs deferment is disabled,
+\(oqall\(cq, meaning it is enabled for all fonts, and \(oq16\(cq, meaning
+it is enabled only for 16-bit fonts.
+.TP
+.BR error\-file " (\fIstring\fP)"
+indicates the filename of the error file.
+All warnings and errors will be logged here, unless
+.B use\-syslog
+is set to a true value (see below).
+.TP
+.BR no\-listen " (\fItrans-type\fP)"
+disables the specified transport type.
+For example, TCP/IP connections can be disabled with \(oqno\-listen =
+tcp\(cq.
+.TP
+.BR port " (\fIcardinal\fP)"
+indicates the TCP port on which the server will listen for connections.
+.\" .TP
+.\" .BR trusted-clients " (list of \fIstring\fPs)"
+.\" identifies the clients the font server will talk to.
+.\" Others will be refused for the initial connection.
+.\" An empty list means the server will talk to any client.
+.TP
+.BR use\-syslog " (\fIboolean\fP)"
+determines whether errors and diagnostics should be reported via
+.BR syslog (__libmansuffix__)
+(on supported systems) instead of being written to the
+.B error\-file
+(see above).
+.SH "CATALOGUE DIR"
+You can specify a special kind of font path in the form \fBcatalogue:<dir>\fR.
+The directory specified after the catalogue: prefix will be scanned for symlinks
+and each symlink destination will be added as a local fontfile FPE.
+.PP
+The symlink can be suffixed by attributes such as '\fBunscaled\fR', which
+will be passed through to the underlying fontfile FPE. The only exception is
+the newly introduced '\fBpri\fR' attribute, which will be used for ordering
+the font paths specified by the symlinks.
+
+An example configuration:
+
+.nf
+ 75dpi:unscaled:pri=20 \-> /usr/share/X11/fonts/75dpi
+ ghostscript:pri=60 \-> /usr/share/fonts/default/ghostscript
+ misc:unscaled:pri=10 \-> /usr/share/X11/fonts/misc
+ type1:pri=40 \-> /usr/share/X11/fonts/Type1
+ type1:pri=50 \-> /usr/share/fonts/default/Type1
+.fi
+
+This will add /usr/share/X11/fonts/misc as the first FPE with the attribute
+'unscaled', second FPE will be /usr/share/X11/fonts/75dpi, also with
+the attribute unscaled etc. This is functionally equivalent to setting
+the following font path:
+
+.nf
+ /usr/share/X11/fonts/misc:unscaled,
+ /usr/share/X11/fonts/75dpi:unscaled,
+ /usr/share/X11/fonts/Type1,
+ /usr/share/fonts/default/Type1,
+ /usr/share/fonts/default/ghostscript
+.fi
+.SS "Example Configuration File"
.nf
XCOMM
XCOMM sample font server configuration file
XCOMM
-XCOMM allow a max of 10 clients to connect to this font server
-client-limit = 10
+XCOMM allow a max of 10 clients to connect to this font server.
+client\-limit = 10
-XCOMM when a font server reaches its limit, start up a new one
-clone-self = on
+XCOMM When a font server reaches the above limit, start up a new one.
+clone\-self = on
-XCOMM alternate font servers for clients to use
-alternate-servers = hansen:7101,hansen:7102
+XCOMM Identify alternate font servers for clients to use.
+alternate\-servers = hansen:7101,hansen:7102
-XCOMM where to look for fonts
-XCOMM the first is a set of Speedo outlines, the second is a set of
-XCOMM misc bitmaps and the last is a set of 100dpi bitmaps
+XCOMM Look for fonts in the following directories. The first is a set of
+XCOMM TrueType outlines, the second is a set of misc bitmaps (such as terminal
+XCOMM and cursor fonts), and the last is a set of 100dpi bitmaps.
XCOMM
-catalogue = /usr/X11R6/lib/X11/fonts/speedo,
- /usr/X11R6/lib/X11/fonts/misc,
- /usr/X11R6/lib/X11/fonts/100dpi/
+catalogue = /usr/X11R6/lib/X11/fonts/TTF,
+ /usr/X11R6/lib/X11/fonts/misc,
+ /usr/X11R6/lib/X11/fonts/100dpi/
XCOMM in 12 points, decipoints
-default-point-size = 120
+default\-point\-size = 120
XCOMM 100 x 100 and 75 x 75
-default-resolutions = 100,100,75,75
-use-syslog = off
-.fi
-.sp
-.SH "FONT SERVER NAMES"
-One of the following forms can be used to name a font server that
-accepts TCP connections:
-.sp
-.nf
- tcp/\fIhostname\fP:\fIport\fP
- tcp/\fIhostname\fP:\fIport\fP/\fIcataloguelist\fP
-.fi
-.PP
-The \fIhostname\fP specifies the name (or decimal numeric address)
-of the machine on which the font server is running. The \fIport\fP
-is the decimal TCP port on which the font server is listening for connections.
-The \fIcataloguelist\fP specifies a list of catalogue names,
-with '+' as a separator.
-.PP
-Examples: \fItcp/fs.x.org:7100\fP, \fItcp/18.30.0.212:7101/all\fP.
-.PP
-One of the following forms can be used to name a font server that
-accepts DECnet connections:
-.sp
-.nf
- decnet/\fInodename\fP::font$\fIobjname\fP
- decnet/\fInodename\fP::font$\fIobjname\fP/\fIcataloguelist\fP
+default\-resolutions = 100,100,75,75
+
+XCOMM Specify our log filename.
+error\-file = /var/log/xfs.log
+
+XCOMM Direct diagnostics to our own log file instead of using syslog.
+use\-syslog = off
.fi
-.PP
-The \fInodename\fP specifies the name (or decimal numeric address)
-of the machine on which the font server is running.
-The \fIobjname\fP is a normal, case-insensitive DECnet object name.
-The \fIcataloguelist\fP specifies a list of catalogue names,
-with '+' as a separator.
-.PP
-Examples: \fIDECnet/SRVNOD::FONT$DEFAULT\fP, \fIdecnet/44.70::font$special/symbols\fP.
-.SH "SEE ALSO"
-X(__miscmansuffix__), \fIThe X Font Service Protocol\fP,
-.br
-\fIFont server implementation overview\fP
+.SH "OUTPUT FILES"
+When operating in daemon mode,
+.B xfs
+sends diagnostic messages (errors and warnings) to the system log via the
+.B syslog
+C library function by default.
+However, these messages can be sent to an alternate location via the
+.B error\-file
+and
+.B use\-syslog
+configuration variables; see \(lqConfiguration File Format\(rq, above.
+.SH "ASYNCHRONOUS EVENTS"
+.B xfs
+handles the following signals specially:
+.TP
+.I SIGTERM
+causes the font server to exit cleanly.
+.TP
+.I SIGUSR1
+causes
+.B xfs
+to re-read its configuration file.
+.TP
+.I SIGUSR2
+causes
+.B xfs
+to flush any cached data it may have.
+.TP
+.I SIGHUP
+causes
+.B xfs
+to reset, closing all active connections and re-reading the configuration
+file.
.SH BUGS
Multiple catalogues should be supported.
+.SH "FUTURE DIRECTIONS"
+Significant further development of
+.B xfs
+is unlikely.
+One of the original motivations behind it was the single-threaded nature of
+the X server \(em a user's X session could seem to \(oqfreeze up\(cq while
+the X server took a moment to rasterize a font.
+This problem with the X server, which remains single-threaded in all
+popular implementations to this day, has been mitigated on two fronts:
+machines have gotten much faster, and client-side font rendering
+(particularly via the Xft library) is the norm in contemporary software.
.SH AUTHORS
Dave Lemke, Network Computing Devices, Inc
.br
Keith Packard, Massachusetts Institute of Technology
+.SH "SEE ALSO"
+.BR X (__miscmansuffix__),
+.BR xfsinfo (__appmansuffix__),
+.BR fslsfonts (__appmansuffix__),
+.BR init (__adminmansuffix__),
+.BR syslog (__libmansuffix__),
+.IR "The X Font Service Protocol" ,
+.I Font Server Implementation Overview